日期:2014-05-18  浏览次数:20380 次

在存儲過程中,記錄id的行數,并返回結果的疑惑
如題,一個貌似簡單的問題,我的做法較老土,是這樣的
SQL code

Select count(*) from tb_Test where id=@id
set @Result=rowcount-----返回行數的俄統計



結果發現一個傻傻的事情,如果id不存在于id被寫過一次,@Result均為1,
請高手支招,謝謝啊!

------解决方案--------------------
直接select * ....再获取@@rowcount
------解决方案--------------------
SQL code
--用聚合函数时注意,至少返回一行结果集
SELECT COUNT(*) FROM tb_Test WHERE id=@id
--如果要用@@rowcount,要紧跟着SQL语句,否则可能@@rowcount被覆盖
SELECT 1 FROM tb_Test WHERE id = @id
SELECT @@ROWCOUNT