如何在SQL Server中检查表变量是否为空

时间:2014-04-05 05:43:39

标签: sql sql-server

我需要检查SQL Server中的表变量是否为 Nothing

我使用了以下查询

IF NOT EXISTS (SELECT 1 FROM @Request)
BEGIN
   --Code here
END

还有其他办法吗?

4 个答案:

答案 0 :(得分:3)

我认为你做的方式是正确的,但可能需要澄清一些。

表变量不能是"没有"或NULL。一旦声明,它们就会存在。他们可能没有任何记录(与表格相同),但它们存在。

标量变量的值可以为NULL。

答案 1 :(得分:2)

T SQL不是OO语言,所以这里没有什么是不熟悉的概念。

表变量可以声明或不声明,并且可以有零行或多行。

它与标量变量有些不同,可以是NULL。

答案 2 :(得分:1)

如果我错了,请纠正我

代码的主要目标是根据表存在执行不同的操作

如果是,则可以执行以下检查

IF @Request IS NULL
 (
     DO NOTHING
 )

ELSE
 (
   IF EXISTS(SELECT 1 FROM SYS.TABLES WHERE NAME = @Request)
       (
          DO SOMETHING
       )
   ELSE
      (
          DO SOMETHING
      )

 )

答案 3 :(得分:0)

试试这个:

Select 'TableVariableExists'
Where Exists (select 1 from @Requests)