SQLserver中怎么在載入數據時解除對數的約束,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
創新互聯建站主要從事成都做網站、成都網站建設、網頁設計、企業做網站、公司建網站等業務。立足成都服務黔江,10余年網站建設經驗,價格優惠、服務專業,歡迎來電咨詢建站服務:028-86922220
當向表中載入數據的時候,有時會不得不解除對表的約束。假定表已經被刪減過或有損壞了, 更有可能的是表存有如外部關鍵字之類的引用完整性約束,這時數據庫不會允許向表中插入不在其它表中存在相關關系的數據,如果引用列在其它的表中不存在的話,在最初裝入數據的時候可能會不得不解除對表的約束。當然當載入成功以后,應該將這些約束恢復。
INPUT
SQL> SET ECHO OFF
SQL> SET FEEDBACK OFF
SQL> SET HEADING OFF
SQL> SPOOL DISABLE.SQL
SQL> SELECT 'ALTER TABLE ' || TABLE_NAME ||
2 'DISABLE CONSTRAINT ' || CONSTRAINT_NAME || ';'
3 FROM SYS.DBA_CONSTRAINTS
4 WHERE OWNER = 'RYAN'
5 /
OUTPUT
ALTER TABLE ACCT_PAY DISABLE CONSTRAINT FK_ACCT_ID;
ALTER TABLE ACCT_REC DISABLE CONSTRAINT FK_ACCT_ID;
ALTER TABLE CUSTOMERS DISABLE CONSTRAINT FK_CUSTOMER_ID;
ALTER TABLE HISTORY DISABLE CONSTRAINT FK_ACCT_ID;
ALTER TABLE INVOICES DISABLE CONSTRAINT FK_ACCT_ID;
ALTER TABLE ORDERS DISABLE CONSTRAINT FK_ACCT_ID;
這個對象已經生成了一系列的 ALTER TABLE 語句來解除所有為 RYAN 所擁有的表,在連接符末尾的分號是為了保證每個語句的完整。
INPUT/OUTPUT
SQL> SPOOL OFF
SQL> SET ECHO OFF
SQL> SET FEEDBACK ON
SQL> START DISABLE.SQL
Constraint Disabled.
Constraint Disabled.
Constraint Disabled.
Constraint Disabled.
Constraint Disabled.
Constraint Disabled.
注意在這里 ECHO 被設置為 OFF 也是說你在執行不會看到對應的語句 但是由于FEEDBACK 設置為 ON 所以你可以看到結果Constraint Disabled.如果 ECHO 和 FEEDBACK 都設置成 OFF 了,在執行時將什么都不會顯示,只是經過一段時間的暫停以后又回到了 SQL>的提示符下,現在你可以放心地載入你的數據而不必擔心因為約束而導致的錯誤了。約束是好事但它在數據載入的時候會造成障礙也可以使用相同的思想來恢復對表的約束。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創新互聯行業資訊頻道,感謝您對創新互聯的支持。
文章題目:SQLserver中怎么在載入數據時解除對數的約束
文章出自:http://vcdvsql.cn/article6/pehpig.html
成都網站建設公司_創新互聯,為您提供網站營銷、電子商務、商城網站、App開發、搜索引擎優化、面包屑導航
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯