黄色在线观看视频-黄色在线免费看-黄色在线视频免费-黄色在线视频免费看-免费啪啪网-免费啪啪网站

首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證
華為認證 | Java認證
公務員 | 報關員 | 銀行從業資格 | 證券從業資格 | 期貨從業資格 | 司法考試 | 法律顧問 | 導游資格
報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師
人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業資格 | 廣告師職業水平
駕駛員 | 網絡編輯
衛生資格 | 執業醫師 | 執業藥師 | 執業護士
會計從業資格考試會計證) | 經濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師
注冊資產評估師 | 高級會計師 | ACCA | 統計師 | 精算師 | 理財規劃師 | 國際內審師
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監理工程師 | 安全工程師
質量工程師 | 物業管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師
設備監理師 | 房地產經紀人 | 投資項目管理師 | 土地登記代理人 | 環境影響評價師 | 環保工程師
城市規劃師 | 公路監理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲

最簡單刪除SQLServer中所有數據的方法介紹

來源:考試吧Exam8.com) 2009-3-12 15:09:22 考試吧:中國教育培訓第一門戶 模擬考場

  其實刪除數據庫中數據的方法并不復雜,為什么我還要多此一舉呢,一是我這里介紹的是刪除數據庫的所有數據,因為數據之間可能形成相互約束關系,刪除操作可能陷入死循環,二是這里使用了微軟未正式公開的sp_MSForEachTable存儲過程。

  也許很多讀者朋友都經歷過這樣的事情:要在開發數據庫基礎上清理一個空庫,但由于對數據庫結構缺乏整體了解,在刪除一個表的記錄時,刪除不了,因為可能有外鍵約束,一個常見的數據庫結構是一個主表,一個子表,這種情況下一般都得先刪除子表記錄,再刪除主表記錄。

  說道刪除數據記錄,往往馬上會想到的是delete和truncate語句,但在遇到在兩個或多個表之間存在約束的話, 設為首頁 這兩個語句可能都會失效,而且最要命的是這兩個命令都只能一次操作一個表。那么真正遇到要刪除SQL Server數據庫中所有記錄時,該怎么辦呢?有兩個選擇:

  1.按照先后順序逐個刪除,這個方法在表非常多的情況下顯得很不現實,即便是表數量不多,但約束比較多時,你還是要花費大量的時間和精力去研究其間的約束關系,然后找出先刪哪個表,再刪哪個表,最后又刪哪個表。

  2.禁用所有約束,刪除所有數據,最后再啟用約束,這樣就不用花時間和精力去研究什么約束了,只需要編寫一個簡單的存儲過程就可以自動完成這個任務。

  從這兩個選擇中不難看出第二個選擇是最簡單有效的了,那么在使用第二個選擇時,具體該怎么實施呢?

  首先得編寫代碼循環檢查所有的表,這里我推薦一個存儲過程sp_MSForEachTable,因為在微軟的官方文檔中沒有對這個存儲過程有描述,很多開發人員也許都還未曾聽說,所以你在互聯網上搜索得到的解決辦法大多很復雜,也許有的人會認為,既然沒有官方文檔,這個存儲過程可能會不穩定,打心理上會排斥它,但事實并非如此。下面來先看一個完整的腳本:

  CREATE PROCEDURE sp_DeleteAllData

  AS

  EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'

  EXEC sp_MSForEachTable 'ALTER TABLE ? DISABLE TRIGGER ALL'

  EXEC sp_MSForEachTable 'DELETE FROM ?'

  EXEC sp_MSForEachTable 'ALTER TABLE ? CHECK CONSTRAINT ALL'

  EXEC sp_MSForEachTable 'ALTER TABLE ? ENABLE TRIGGER ALL'

  EXEC sp_MSFOREACHTABLE 'SELECT * FROM ?'

  GO

  這個腳本創建了一個命名為sp_DeleteAllData的存儲過程,前面兩行語句分別禁用約束和觸發器,第三條語句才是真正地刪除所有數據,接下里的語句分別還原約束和觸發器,最后一條語句是顯示每個表中的記錄,當然這條語句也可以不要,我只是想確認一下是否清空了所有表而已。

  你可以在任何數據庫上運行這個存儲過程,當然不要在生成數據庫上運行,可別怪我沒告訴你!不管怎樣,還是先備份一下數據庫,使用備份數據庫還原,然后再運行該存儲過程,呵呵,即使是一個大型數據庫,也要不多長時間,你的數據庫就成一個空庫了!

  相關推薦:全國計算機等級考試將于3月28日至4月1日舉行
       2009年全國計算機等級考試各科目考試大綱
       2009上半年計算機等級考試各地報名時間匯總
文章搜索
版權聲明:如果計算機等級考試網所轉載內容不慎侵犯了您的權益,請與我們聯系800@exam8.com,我們將會及時處理。如轉載本計算機等級考試網內容,請注明出處。
主站蜘蛛池模板: 夜夜骑首页 | 国产一级一国产一级毛片 | 国产成人在线视频播放 | 成人啪精品视频免费网站 | 风流放荡的艳妇小说 | 视频三区精品中文字幕 | 在线三区 | 五月婷婷在线视频观看 | 日韩欧美中文字幕一区 | 在线观看一夜七次郎国产 | 日韩在线视精品在亚洲 | 成年人午夜免费视频 | 2020欧美极品hd18 | 一级毛片aaaaaa免费看 | 国产麻豆媒一区一区二区三区 | 一区小说二区另类小说三区图 | 小明免费 | sis人成在线视频 | 亚洲国产精品第一区二区三区 | 国产日韩在线看 | 亚洲第一视频 | 国产成人午夜 | 日本三级黄色 | 成 人国产在线观看高清不卡 | 亚洲a在线观看 | 又黄又爽又色的黄裸乳视频 | 欧美乱操| 成人三级视频 | 六月丁香在线播放 | 亚洲高清一区二区三区久久 | 亚洲黄色三级 | 日韩精品在线第一页 | 91免费国产高清在线 | 一级毛片aa| 国产成人啪精品视频免费网 | 亚洲无限码| 天天夜夜骑 | 欧美亚洲国产成人高清在线 | 91视频一区二区三区 | 午夜影院a级片 | 精品免费在线 |