国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

如何對SQL Server數(shù)據(jù)表和數(shù)據(jù)庫進行迭代操作

瀏覽:137日期:2023-11-07 14:08:36

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

這些系統(tǒng)過程對于處理以下任務(wù)非常方便,如判斷使用的存儲空間大小、行數(shù)、用戶表索引等等。第一個過程sp_MSForEachDB對于感興趣的服務(wù)器上的每個數(shù)據(jù)庫執(zhí)行三條命令。

◆@command1:第一個執(zhí)行的命令◆@replacechar:用另一個占位賦替換“?◆@command2:第二個執(zhí)行的命令◆@command3:第三個執(zhí)行的命令◆@precommand:進入循環(huán)前執(zhí)行的命令◆@postcommand:循環(huán)結(jié)束后執(zhí)行的命令

每個命令集(即使該集合只含有一條命令)作為一個批處理對每個數(shù)據(jù)庫執(zhí)行,所以當(dāng)我們要將捕獲的結(jié)果輸出到文本而不是標(biāo)準(zhǔn)結(jié)果集表時,這將非常有用。

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

下面的代碼返回服務(wù)器上每個數(shù)據(jù)庫中用戶數(shù)據(jù)表的數(shù)目:

exec sp_MSForEachDB@command1 = "use ? exec sp_SpaceUsed"

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

數(shù)據(jù)庫名數(shù)據(jù)庫大小未分配空間大小

--------------------- ------------------ master 5.25 MB1.26 MB

reserved data index_size unused------------------ ------------------ 2808 KB 1144 KB 1080 KB 584 KB

第二個過程sp_MSForEachTable接受7個參數(shù):

◆@command1:第一個執(zhí)行的命令◆@replacechar:用另一個占位符替換“?◆@command2:第二個執(zhí)行的命令◆@command3:第三個執(zhí)行的命令◆@whereand:Where條件語句 (或 Order By 語句) ◆@precommand:進入循環(huán)前執(zhí)行的命令 ◆@postcommand:循環(huán)結(jié)束后執(zhí)行的命令

通過對要傳遞的參數(shù)命名,可以跳過傳遞空值的要求。當(dāng)要執(zhí)行的命令中含有一個問號時,參數(shù)@replacechar十分有用。@whereand參數(shù)的實現(xiàn)可以根據(jù)過濾器縮小輸出的范圍。

你還可以加入一個ORDER BY語句。下面的例子返回AdventureWorks數(shù)據(jù)庫中每個數(shù)據(jù)表的行數(shù),并按照數(shù)據(jù)表明對它們排序:

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

下面是一些輸出結(jié)果:

[HumanResources].[Department]-----------16

[HumanResources].[Employee]-----------290

[HumanResources].[EmployeeAddress]-----------290

[HumanResources].[EmployeeDepartmentHistory]-----------296

我喜歡通過模式和表名對數(shù)據(jù)表排序。

標(biāo)簽: Sql Server 數(shù)據(jù)庫
相關(guān)文章:
主站蜘蛛池模板: 南漳县| 玛多县| 凉山| 西华县| 河曲县| 土默特左旗| 惠安县| 铜陵市| 大宁县| 繁昌县| 多伦县| 河南省| 汤阴县| 巧家县| 华容县| 新蔡县| 特克斯县| 安达市| 武汉市| 绩溪县| 宽城| 浑源县| 蚌埠市| 马关县| 张家港市| 色达县| 呼玛县| 仙游县| 广水市| 西峡县| 潞城市| 吉安县| 西乌| 博爱县| 平泉县| 瑞丽市| 哈密市| 金寨县| 陕西省| 深州市| 沐川县|