@@ Rowcount用于通知最后一个select,insert,update或delete语句受影响的行数
Run Code Online (Sandbox Code Playgroud)declare @row int select 100 if @@rowcount>0 set @row=@@rowcount ...以上将返回0,因为一旦
if @@rowcount>0执行它将重置为0,因为它不返回任何行.所以总是先分配给变量
为什么语句if @@rowcount>0重置@@rowcount为0?是否 @@rowcount仅受select,insert,update和delete语句的影响?
谢谢
gbn*_*gbn 12
它受最后一个声明的影响.像这个SET语句
Declare @row int
select 100 union all select 200 union all select 300
set @row = @@rowcount;
SELECT @row, @@rowcount
Run Code Online (Sandbox Code Playgroud)
如果您阅读MSDN上的实际Microsoft SQL Server文档,则会提供语句影响的示例@@ROWCOUNT.例如,"如"表示像IF这样的其他语句也会将其设置为零
诸如USE,SET
<option>,DEALLOCATE CURSOR,CLOSE CURSOR,BEGIN TRANSACTION或COMMIT TRANSACTION之类的语句将ROWCOUNT值重置为0.
| 归档时间: |
|
| 查看次数: |
9753 次 |
| 最近记录: |