SET NOCOUNT ON
DECLARE @tablename nchar(80),@sql nchar(4000)declare @colnum nchar(40) --定义放在外面,不要在循环中定义(那样成了重复定义)Print '-------begin----------'DECLARE tablename CURSOR FOR
Select name from dbo.sysobjects where xtype='U'OPEN tablenameFETCH NEXT FROM tablename
INTO @tablenameWHILE @@FETCH_STATUS =0
BEGIN
--declare @colnum nchar(40)
set @sql='select @colnum=count(*) from ' + @tablename
exec sp_executesql @sql,--sq_executesql -->sp_executesql
N'@colnum nchar(40) out', --在调用中要声明
@colnum out FETCH NEXT FROM tablename --游标要移动,否则成死循环
INTO @tablename
ENDCLOSE tablename
DEALLOCATE tablename
GO
DECLARE @tablename nchar(80),@sql nchar(4000)declare @colnum nchar(40) --定义放在外面,不要在循环中定义(那样成了重复定义)Print '-------begin----------'DECLARE tablename CURSOR FOR
Select name from dbo.sysobjects where xtype='U'OPEN tablenameFETCH NEXT FROM tablename
INTO @tablenameWHILE @@FETCH_STATUS =0
BEGIN
--declare @colnum nchar(40)
set @sql='select @colnum=count(*) from ' + @tablename
exec sp_executesql @sql,--sq_executesql -->sp_executesql
N'@colnum nchar(40) out', --在调用中要声明
@colnum out FETCH NEXT FROM tablename --游标要移动,否则成死循环
INTO @tablename
ENDCLOSE tablename
DEALLOCATE tablename
GO
DECLARE @tablename nchar(80),@sql nchar(4000)Print '-------begin----------'DECLARE tablename CURSOR FOR
Select name from dbo.sysobjects where xtype='U'OPEN tablenameFETCH NEXT FROM tablename
INTO @tablenameWHILE @@FETCH_STATUS =0
BEGIN
declare @colnum nchar(40) --这里可以不改,是我搞错了
set @sql='select @colnum=count(*) from ' + @tablename
exec sp_executesql @sql,--sq_executesql -->sp_executesql
N'@colnum nchar(40) out', --在调用中要声明
@colnum out print '表名:'+rtrim(@tablename)+' 记录数:'+@colnum --添加输出显示语句 FETCH NEXT FROM tablename --游标要移动,否则成死循环
INTO @tablename
ENDCLOSE tablename
DEALLOCATE tablename
GO