create table t
(
a int
)
insert into t values(1)
insert into t values(2)
insert into t values(3)
insert into t values(4)
go declare @x nvarchar(4000)
declare @i int
select @x= 'select * from t'
select @x= @x+ ' select @count=@@rowcount '
exec sp_executesql @x,N'@count int output', @i output
select @i
(
a int
)
insert into t values(1)
insert into t values(2)
insert into t values(3)
insert into t values(4)
go declare @x nvarchar(4000)
declare @i int
select @x= 'select * from t'
select @x= @x+ ' select @count=@@rowcount '
exec sp_executesql @x,N'@count int output', @i output
select @i
create table t
(
a int
)
insert into t values(1)
insert into t values(2)
insert into t values(3)
insert into t values(4)
go declare @x nvarchar(100)
declare @i int
select @x= 'select @i=count(*) from t'
exec sp_executesql @x,N'@i int output',@i output
print @i
declare @i int
select @x= 'select * from t'
select @x= @x+ ' select @count=@@rowcount '
exec sp_executesql @x,N'@count int output', @i output
select 影响的行数=@i
/*
a
-----------
1
2
3
4(所影响的行数为 4 行)影响的行数
-----------
4(所影响的行数为 1 行)*/
declare @x nvarchar(100)
declare @i int
select @x= 'select * from t'
select @x= @x+ ' set @s=@@rowcount '
exec sp_executesql @x,N'@s int output',@i output
select @i
select @x= 'select @i=count(*) from t'
exec sp_executesql @x,N'@i int output',@i output
select @i4
(
a int
)
insert into t values(1)
insert into t values(2)
insert into t values(3)
insert into t values(4)
go
select top 1 1 n into # from t where a!=0
declare @x nvarchar(100)
declare @i int
set @x=N'select * from t;insert # select @@rowcount'
exec(@x)
select @i=n from #
select @i
go
drop table #,t
go