谁能指出如何检查选择查询是否返回非空结果集?
例如,我有下一个查询:
SELECT * FROM service s WHERE s.service_id = ?;
我应该像下一个那样做吗:
ISNULL(SELECT * FROM service s WHERE s.service_id = ?)
测试结果集是否不为空?
使用@@ ROWCOUNT:
SELECT * FROM service s WHERE s.service_id = ?; IF @@ROWCOUNT > 0 -- do stuff here.....
根据SQL Server联机丛书:
返回受最后一条语句影响的行数。如果行数超过20亿,请使用ROWCOUNT_BIG。