這期內容當中小編將會給大家?guī)碛嘘P怎么在PostgresSql中對多表關聯進行刪除,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
最近用PostgresSql數據庫進行多表關聯刪除的操作,在寫sql語句的時候遇到了問題:
DELETE s.* FROM student s,classroom c WHERE s.cid = c.id AND s.sid = 1 DELETE FROM student s,classroom c WHERE s.cid = c.id AND s.sid = 1
上面兩種寫法操作后提示報錯,下面是PostgresSql數據庫對多表關聯操作的正確用法,多張表之間用USING連接:
DELETE FROM student s USING classroom c WHERE s.cid = c.id AND s.sid = 1
補充:PostgresSQL中的限制和級聯刪除
刪除和更新時對應的操作是一樣的
1Restrict
禁止刪除被引用的行 (不能將約束檢查推遲到事物的晚些時候)
2No Action
如果存在任何引用行,則拋出錯誤,如果不聲明任何行為則No Action就是缺省行為 (允許約束檢查推遲到事物的晚些時候)
3Cascade
在刪除一個被引用的行時,引用他的行被自動刪除
4Set Null
(外鍵上才有) 刪除被引用行時,引用他的字段設置為NULL
5Set Default
(外鍵上才有) 刪除被引用行時,引用他的字段被設置為缺省值
注意:一個動作聲明為Set Default 但是缺省值并不能滿足外鍵,那么動作就會失敗
上述就是小編為大家分享的怎么在PostgresSql中對多表關聯進行刪除了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創(chuàng)新互聯行業(yè)資訊頻道。
網站名稱:怎么在PostgresSql中對多表關聯進行刪除-創(chuàng)新互聯
本文地址:http://vcdvsql.cn/article30/ddjipo.html
成都網站建設公司_創(chuàng)新互聯,為您提供網站制作、網站內鏈、定制開發(fā)、網站設計公司、標簽優(yōu)化、外貿網站建設
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯