成人在线你懂的-成人在线免费小视频-成人在线免费网站-成人在线免费视频观看-日韩精品国产一区二区-日韩精品国产一区

掃一掃
關注微信公眾號

怎樣對SQL 數據表和數據庫進行迭代操作
2007-07-29   賽迪網

本文介紹了master數據庫中兩個非常有用但在SQL Server在線教科書中沒有提到的存儲過程。

這些系統過程對于處理以下任務非常方便,如判斷使用的存儲空間大小、行數、用戶表索引

等等。第一個過程sp_MSForEachDB對于感興趣的服務器上的每個數據庫執行三條命令。

@command1:第一個執行的命令

@replacechar:用另一個占位賦替換“?”

@command2:第二個執行的命令

@command3:第三個執行的命令

@precommand:進入循環前執行的命令

@postcommand:循環結束后執行的命令

每個命令集(即使該集合只含有一條命令)作為一個批處理對每個數據庫執行,

所以當我們要將捕獲的結果輸出到文本而不是標準結果集表時,這將非常有用。

為了實現這一要求,選擇菜單中的查詢按鈕|輸出結果|輸出到文本或者按快捷鍵[Ctrl]T。

下面的代碼返回服務器上每個數據庫中用戶數據表的數目:

exec sp_MSForEachDB@command1 = "use ? exec sp_SpaceUsed"

The abbreviated output looks like this:簡短輸出可能如下:

數據庫名數據庫大小未分配空間大小

--------------------- ------------------

master 5.25 MB1.26 MB

reserved data index_size unused

------------------ ------------------

2808 KB 1144 KB 1080 KB 584 KB

第二個過程sp_MSForEachTable接受7個參數:

@command1:第一個執行的命令

@replacechar:用另一個占位符替換“?”

@command2:第二個執行的命令

@command3:第三個執行的命令

@whereand:Where條件語句 (或 Order By 語句)

@precommand:進入循環前執行的命令

@postcommand:循環結束后執行的命令

通過對要傳遞的參數命名,可以跳過傳遞空值的要求。當要執行的命令中含有

一個問號時,參數@replacechar十分有用。@whereand參數的實現可以根據過濾

器縮小輸出的范圍。

你還可以加入一個ORDER BY語句。下面的例子返回AdventureWorks數據庫中每個

數據表的行數,并按照數據表明對它們排序:

exec sp_MSForEachTable@command1 = "Print '?'",
 @command2 = "select count(*) from ?", @whereand = "ORDER BY 1"

下面是輸出結果:

[HumanResources].[Department]-----------
16[HumanResources].[Employee]-----------290[HumanResources].
[EmployeeAddress]-----------290[HumanResources].
[EmployeeDepartmentHistory]-----------296

熱詞搜索:

上一篇:Sql Server觸發器的原理
下一篇:適合SQL初學者學習的SQL FAQ集錦

分享到: 收藏
主站蜘蛛池模板: 凤凰资讯台| 免费看污污的视频| 家庭琐事美剧电影观看完整版| 迎宾进行曲| 电影危机航线什么时候上映| 霸王茶姬喝了睡不着的原因| 胡渭康| 凌晨晚餐| 寡妇 电影| 儿媳妇电视剧在线观看| 夜之女王 电影| 关宝慧| 电影《遗产》韩国丧尸| 英语书七年级下册单词表| 韩国电影《爱欲》| 挖掘机动画片全集免费观看| marie dee| 解毒咒| 汪汪队之小砾与工程家族| 猎兽神兵免费全集在线观看高清版| 唐瑜苏沐月是哪部短剧| 一年级下册语文期末测试卷可打印| cctv6 节目表| 潇洒的走简谱| 让我们一起摇太阳| 卧虎演员表| 美丽的坏女人中文字幕| 黄视频免费观看网站| 赵立军| 珍爱如血泰剧全集在线观看| 孽扣| 永远是少年电影免费观看| 浙江卫视今晚电视节目表| 有完没完电影| 米奇妙妙屋第二季 2008| 浙江卫视节目在线观看直播| 曹永廉| 蝴蝶视频在线观看| 莫比乌斯电影完整版免费观看| 小女孩屁股| 变形金刚7免费高清电影|