我有一个动态的 sql 语句,它可能会也可能不会返回任何结果。为简单起见:
--other SQL statements defining @a
DECLARE @sql varchar(128)
SELECT @sql = 'SELECT a, b FROM c WHERE a = ' + @a
EXEC(@sql)
如果此语句返回任何结果,但如果EXEC(@sql)
不返回任何结果,我想要结果,我该如何让它返回单个结果null
?
我正在使用 MS SQLServer 2000。
X-ZERO 的解释
这用于 webapp ajax 响应。我无法更改后端 java 框架,该框架需要查询将某种结果集返回给 web 服务。
解决方案
万一其他人有这个问题,并且因为答案并不完全清楚,这有效:
--other SQL statements defining @a
DECLARE @sql varchar(128)
SELECT @sql = 'SELECT a, b FROM c WHERE a = ' + @a
EXEC(@sql)
IF @@ROWCOUNT = 0 SELECT null