Re: [SQL ] 對view新增刪除,如何同步到來源table

看板Database (資料庫)作者 (瞬)時間8年前 (2016/08/28 18:41), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
View Insert Sync Foreign Table: ※ 引述《uvyyvu (none)》之銘言: : 資料庫名稱:MSSQL 2012 : 資料庫版本:略 : 內容/問題描述: : 大家好: : 有A和B兩個table,並用join產生一個view,稱為viewAjoinB,相關資料如下 : 其中BookstoreID為A的PK,BookID為B的PK也是A的FK : table A=> : BookstoreID Location BookID : ----------------------------- : 1 台北 A1 : 2 台中 A2 : 3 高雄 A1 : table B=> : BookID BookName : --------------------- : A1 論語 : A2 詩經 : viewAjoinB=> : BookstoreID Location BookID BookName : ------------------------------------------ : 1 台北 A1 論語 : 2 台中 A2 詩經 : 3 高雄 A1 論語 View Name : viewAjoinB : 以下問題請教:(問題1和2是不連續的獨立問題) : (1)開台南分店--->對view新增 : viewAjoinB=> : BookstoreID Location BookID BookName : ------------------------------------------ : 1 台北 A1 論語 : 2 台中 A2 詩經 : 3 高雄 A1 論語 : 4 台南 A1 論語 ----->新增 : 希望能同步回table A,使A和B的表格如下 : table A=> : BookstoreID Location BookID : ----------------------------- : 1 台北 A1 : 2 台中 A2 : 3 高雄 A1 : 4 台南 A1----->新增 : table B=> 不變 AI(Auto Insert) Trigger: Insert into tableA(BookstoreID,Location,BookID) Select BookStore,Location,BookID From insertd tableB不變的話就不用寫。 : BookID BookName : --------------------- : A1 論語 : A2 詩經 : (2)關閉台中分店--->對view刪除 : viewAjoinB=> : BookstoreID Location BookID BookName : ------------------------------------------ : 1 台北 A1 論語 : 3 高雄 A1 論語 : 希望能同步回table A,使A和B的表格如下 : table A=> : BookstoreID Location BookID : ----------------------------- : 1 台北 A1 : 3 高雄 A1 : table B=> 不變 : BookID BookName : --------------------- : A1 論語 : A2 詩經 ----->A2還要存在不能刪除 AD(Auto Delete) Trigger: Delete From tableA where BookstoreID = (Select BookstoreID From Deleted) tableB的部分不用寫 除非你有用BookID關聯起來並且設定同步刪除 不然不會刪掉。 : 查到view的來源若大於兩個table,只能用create trigger做, : 看網路範例仍不知怎套用在我的案例... : 實務上不知怎處理這種問題? 總不能view更新,原始資料沒變吧? : 麻煩各位了,還在學習DB的新手@@ : 非常謝謝您!! 寫在View上面的Trigger中 目前想到是這樣,有錯還請高手不吝指正。 --          愛的她 說的話 多尷尬 字句都是傷疤          淚雙掛 如雨下 滿臉頰 也無意再掙扎 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.249.136.118 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1472380881.A.24F.html
文章代碼(AID): #1Nmh_H9F (Database)
文章代碼(AID): #1Nmh_H9F (Database)