不能使用带有返回值的return语句

时间:2013-07-15 19:18:19

标签: sql sql-server

我试图确定参考号是否存在,当我运行下面的查询时,我收到错误

  

必须声明标量变量@referencenumber。

知道为什么吗?

IF EXISTS (SELECT ID, ReferenceNumber FROM tblData WHERE ReferenceNumber = @ReferenceNumber)  
THEN
   Return 1
ELSE
   Return 0
END IF

2 个答案:

答案 0 :(得分:4)

确保cmd.CommandType设置为Text

此外,您必须将参数添加到Parameters集合...

cmd.Parameters.Add("@ReferenceNumber", SqlDbType.Int); // Assuming Int, change to whatever you need

然后你必须设置新参数的值......

cmd.Parameters("@ReferenceNumber").Value = *The value*

详细了解如何使用参数here

答案 1 :(得分:3)

您尚未标记任何编程语言。 因此,在SQL-Server上,您可以使用declare然后设置您的特定值:

declare @ReferenceNumber int;
set @ReferenceNumber = 1000; --your reference number

IF EXISTS (SELECT ID, ReferenceNumber FROM tblData WHERE ReferenceNumber = @ReferenceNumber)  
THEN
   SELECT 1
ELSE
   SELECT 0
END IF