在T-SQL中,我声明了一个局部变量,可用于某些查询,如下所示:
DECLARE @var_last datetime;
SET @var_last = (SELECT TOP(1) col_date FROM tbl_dates ORDER BY col_date);
在我正在测试的应用程序中,此查询返回NULL将是一个错误,并且如果查询返回崩溃错误,则希望该查询返回错误。
我想设为@var_last
,NOT NULL
但语法...
DECLARE @var_last datetime NOT NULL;
...是无效的。我可以对查询的返回值进行简单检查,以查看它是否为NULL,如果错误则为错误,但是我的问题是,是否可以将局部变量声明为NOT NULL?
是的,根据http://technet.microsoft.com/en-us/library/ms188927.aspx上DECLARE @local_variable
提供的文档,它不接受参数-这些参数仅对列定义有效。NULL | NOT NULL
如果要返回NULL
,则要停止执行,请测试NULL
和;如果是,请测试RAISERROR
;请参阅:http : //technet.microsoft.com/en-us/library/ms178592.aspx。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句