我想知道是否可以将声明变量(作为表)设置为空。
像 :
DECLARE @TABLE1 AS TABLE (COL1 INT)
SET @TABLE1 = NULL
我搜索了一种方法来知道我是否已经尝试将数据插入到我的变量中
我想知道是否可以将声明变量(作为表)设置为空。
像 :
DECLARE @TABLE1 AS TABLE (COL1 INT)
SET @TABLE1 = NULL
我搜索了一种方法来知道我是否已经尝试将数据插入到我的变量中
不,没有。
如果您需要记住是否尝试将数据插入@table,请使用单独的bit
变量作为标志。
如果您需要知道您的 @table 是否包含任何行,请使用
if exists (select * from @table1)
begin
...
end;
要完成有关是否已添加行的问题,您可以执行以下操作:
insert into @TABLE1 (COL1) VALUES ([someYourData])
if @@ROWCOUNT > 0
-- row addeded
ELSE
-- nothing added
或者您可以检查 的值@@ROWCOUNT
以了解添加了多少行:
insert into @TABLE1 (COL1) VALUES ([someYourData])
print @@ROWCOUNT
据我所知@TABLE1
,local scope
当存储过程结束时,此变量将被删除
正如GSerg所说,您有很多检查方法:
if exists (select * from @TABLE1)
BEGIN
-- do something
END
或者
if (select count(@@rowcount) from @TABLE1) > 0
BEGIN
-- do something
END
或者
if (select count(*) from @TABLE1) > 0
BEGIN
-- do something
END