--源表
create table t1(name varchar(40))
insert into t1 select 'abc'
insert into t1 select 'def'
insert into t1 select 'ghi'
--创建临时表
create table #t (ID int IDENTITY, yhm_name varchar(40))
--向临时表中写入数据
insert into #t
select name from t1
select @@rowcount
--取得记录总数
declare @iRecordCount int
set @iRecordCount=@@rowcount
print @iRecordCount
--删除测试数据
drop table #t,t1
--结果
/*
3
*/
********************************************************
联机帮助:
@@ROWCOUNT
返回受上一语句影响的行数。
语法
@@ROWCOUNT
返回类型
integer
注释
任何不返回行的语句将这一变量设置为 0 ,如 IF 语句。
示例
下面的示例执行 UPDATE 语句并用 @@ROWCOUNT 来检测是否有发生更改的行。
UPDATE authors SET au_lname = 'Jones'
WHERE au_id = '999-888-7777'
IF @@ROWCOUNT = 0
print 'Warning: No rows were updated'
********************************************************
占位,回头回答!
create table #t (ID int IDENTITY, --自增字段
yhm_id int,
yhm_name varchar(40))
--向临时表中写入数据
declare @iRecordCount int
insert into #t
select yhm_id,yhm_name from dbo.[yhm]
order by yhm_id
--select * from dbo.[t]
--取得记录总数
set @iRecordCount=@@rowcount
这个试下!不行了!ME我
1. declare @iRecordCount int
2. set @iRecordCount=@@rowcount
应该是这里错误了。你应该在最前面定义(第1句)。在执行语句后马上用第2句来取。这样才正确。
@@ROWCOUNT是返回受上一语句影响的行数。并不是取得总记录数
可以这样写得到所有记录
把set @iRecordCount=@@rowcount 替换成
select @iRecordCount=count(*) from #t
这样就可以得到总记录数啊
不知道~!