函数返回数据到客户端错误

时间:2016-02-26 18:26:38

标签: sql-server

在SQL Server中(我相信2008)我试图创建一个用分隔符拆分字符串的函数,然后检查传入的值是否等于查询中找到的值。如果是,则该函数返回true(一旦找到),否则返回false。

出于某种原因,我得到以下错误,这似乎没有意义。我的理由是,我觉得应该有一个解决这个问题的方法。我对SQL Server语法相对较新,所以任何帮助都表示赞赏。这是它指向的错误和代码......

  

函数中包含的Select语句无法将数据返回给客户端。

$ luarocks install nn.rockspec --source='~/nn'

2 个答案:

答案 0 :(得分:3)

松散的选择返回结果集,您不能仅从存储过程返回函数。

重写以从该结果集中选择计数并与该方式进行比较。

IF 0<(SELECT COUNT(*) FROM a_table WHERE name=(SUBSTRING(@configValue, @start, @end - @start)))
    RETURN 1;

答案 1 :(得分:3)

错误是因为您正在选择ID。

您需要检查它是否存在。

例如,您不需要选择ID,您可以选择1 ...存在检查没有区别。

IF EXISTS (SELECT 1 FROM a_table WHERE name=(SUBSTRING(@configValue, @start, @end - @start)))
    RETURN 1
ELSE
    RETURN 0