SQL-游标-查询数据库中的所有表的数据个数
2017-01-19 11:40
369 查看
--sql语句-游标等使用 declare @sql nvarchar(500) declare @TableName nvarchar(100) declare @i INT declare @j nvarchar(20) declare @cstucount INT --上方设置变量 set @i = 1--初始值 declare mCursor cursor --设置游标 for --for循环 select name from sysobjects where xtype='U' --获取所有的表名 open mCursor --游标的使用开始,打开游标 fetch NEXT from mCursor into @TableName --for循环中获取下一条记录 while @@fetch_status = 0 --@@fetch_status全局变量,0表示语句获取成功,-1,-2均是失败 begin --开始 set @sql='select @a=count(*) from ' + QUOTENAME(@TableName) --设置sql语句到变量@sql exec sp_executesql @sql,N'@a int output',@cstucount OUTPUT -- 执行语句,且将得到的值使用变量赋值@cstucount即为@a拿到的值 if @cstucount>0 --如果记录数>0表示有数据,则不进行重设置标识列 BEGIN print '第'+Convert(nvarchar(10),@i)+'个,'+@TableName+',大于0,值为='+CONVERT(nvarchar(10),@cstucount) END ELSE BEGIN --set @sql='DBCC CHECKIDENT('+QUOTENAME(@TableName)+', RESEED, 1)' --这句查了一段时间,语句中拿的不太一样,不过这里直接给他放QUOTENAME节可以了,QUOTENAME能够将对象编程有效的字符串 --exec(@sql) --执行语句 print '第'+Convert(nvarchar(10),@i)+'个,'+@TableName+',小于等于0,值为='+CONVERT(nvarchar(10),@cstucount) END set @i=@i+1 --设置i=i+1 fetch NEXT from mCursor into @TableName --拿下一个数据 end close mCursor --关闭游标 deallocate mCursor --删除游标 go --显示结果
相关文章推荐
- 用游标实现查询当前服务器所有数据库所有表的SQL
- pymsql 查询某一数据库的所有数据表
- sql查询数据库中所有 ,数据为空的表
- 查询所有数据库数据文件的SQL
- T-sql 查询指定数据库中所有的数据表
- 查询数据库里当前用户下的所有表的总共数据sql
- sql 数据库中 查询所有的数据表,字段,数据类型,长度
- MySQL、MS SQL、Oracle三种数据库查询M到N行数据 分类: 数据库 2009-11-10 23:33 688人阅读 评论(0) 收藏
- 查询数据库中所有表及所有字段的SQL语句
- 使用SQL语句清空数据库所有表的数据(转)
- SQL:清空数据库所有数据
- 查询SQL服务器所有数据库名
- MySQL、MS SQL、Oracle三种数据库查询M到N行数据
- 本人开发系统--新生报到与数据统计管理系统--数据库设计及相关查询SQL语句笔记
- sql查询所有存储过程内容-利用游标和临时表
- 查询所有今天的数据,sql 如何查询当天的数据
- 使用SQL语句清空数据库所有表的数据
- SQL查询遍历数据方法二 [ 游标 + While循环]
- 显示数据库所有表名,字段名,数据类型的sql语句 - 广州网站建设
- SQL查询所有数据库名称,表大小.