獲取SQL SERVER用戶表信息游標
2004-08-19 14:52
976 查看
/*獲取用戶表信息游標*/
SET NOCOUNT ON
DECLARE find_user_table CURSOR
FOR
SELECT [name],crdate FROM sysobjects
WHERE type='U' /*這裡只查詢用戶定義的表*/
ORDER BY [name]
DECLARE @cName VARCHAR(128) /*定義儲存表名變量*/
DECLARE @crdate DATETIME /*定義表創建日期變量*/
DECLARE @Rows INT /*定義表行數變量*/
CREATE TABLE #tmpTable /*創建用來儲存信息的臨時表*/
(
Tablename VARCHAR(128),
crDate datetime,
Row INT
)
OPEN find_user_table /*打開游標*/
FETCH NEXT FROM find_user_table INTO @cName,@crdate /*從游標中讀取表名到變量*/
WHILE @@FETCH_STATUS=0
BEGIN
DECLARE @cSql nvarchar(500),@par nvarchar(30)
SELECT @par='@nRows INT OUTPUT'
SELECT @cSql='SELECT @nRows=COUNT(*) FROM ['+@cName+']'
EXECUTE sp_executesql @cSql,@par,@rows OUTPUT /*計算當前表的總行數*/
INSERT INTO #tmpTable valueS(@cName,@crdate,@rows) /*將當前表信息存儲到臨時表*/
FETCH NEXT FROM find_user_table INTO @cName,@crdate /*從游標中讀取表名到變量*/
END
SELECT * FROM #tmpTable /*顯示所有表信息*/
DROP TABLE #tmpTable /*刪除臨時表*/
CLOSE find_user_table /*關閉游標*/
DEALLOCATE find_user_table /*釋放游標*/
SET NOCOUNT ON
DECLARE find_user_table CURSOR
FOR
SELECT [name],crdate FROM sysobjects
WHERE type='U' /*這裡只查詢用戶定義的表*/
ORDER BY [name]
DECLARE @cName VARCHAR(128) /*定義儲存表名變量*/
DECLARE @crdate DATETIME /*定義表創建日期變量*/
DECLARE @Rows INT /*定義表行數變量*/
CREATE TABLE #tmpTable /*創建用來儲存信息的臨時表*/
(
Tablename VARCHAR(128),
crDate datetime,
Row INT
)
OPEN find_user_table /*打開游標*/
FETCH NEXT FROM find_user_table INTO @cName,@crdate /*從游標中讀取表名到變量*/
WHILE @@FETCH_STATUS=0
BEGIN
DECLARE @cSql nvarchar(500),@par nvarchar(30)
SELECT @par='@nRows INT OUTPUT'
SELECT @cSql='SELECT @nRows=COUNT(*) FROM ['+@cName+']'
EXECUTE sp_executesql @cSql,@par,@rows OUTPUT /*計算當前表的總行數*/
INSERT INTO #tmpTable valueS(@cName,@crdate,@rows) /*將當前表信息存儲到臨時表*/
FETCH NEXT FROM find_user_table INTO @cName,@crdate /*從游標中讀取表名到變量*/
END
SELECT * FROM #tmpTable /*顯示所有表信息*/
DROP TABLE #tmpTable /*刪除臨時表*/
CLOSE find_user_table /*關閉游標*/
DEALLOCATE find_user_table /*釋放游標*/
相关文章推荐
- oracle中的分页
- 路由器网络接口解析
- 備份服務器端SQL SERVER數據庫至本地目錄
- sql server7.0数据库恢复
- 移植到 Windows 2000 和 COM+
- TreeView学习笔记
- 如何在VB例程中接收自定义消息
- UML应用点滴积累
- 移居csdn,今天想到自己的写shell的能力需要提高~
- SymbianOS Series 60学习笔记三:数据库初探
- What do I Need to Get Started?
- 利用hook截获进程的API调用
- 如何通过动态生成Html灵活实现DataGrid分类统计的界面显示功能
- SymbianOS Series 60学习笔记三:数据库初探
- 我的php的一个数据库的操纵类
- 在线人数的统计方法。
- 获取系统当前打开的端口(tcp。udp)状态,以及连接方的ip。端口
- 避免MySQL替换逻辑SQL的坑爹操作 推荐
- Logstash笔记(四) ----output插件
- SQLServer数据库基础