作者uvyyvu (none)
看板Database
標題[SQL ] 對view新增刪除,如何同步到來源table
時間Sat Aug 27 09:03:39 2016
資料庫名稱: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 論語
以下問題請教:(問題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=> 不變
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還要存在不能刪除
查到view的來源若大於兩個table,只能用create trigger做,
看網路範例仍不知怎套用在我的案例...
實務上不知怎處理這種問題? 總不能view更新,原始資料沒變吧?
麻煩各位了,還在學習DB的新手@@
非常謝謝您!!!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.150.143.133
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Database/M.1472259821.A.D09.html
1F:推 shadow0828: 你想一下你View insert進去後 用insertd 的值來寫 08/27 13:29
2F:→ uvyyvu: S大可以說清楚點嗎? 謝謝!! 08/27 16:34
3F:推 JeremyJoung: 就我的認知中 如果是簡單查詢VIEW會自動同步 08/29 02:26
4F:→ JeremyJoung: 但如果是JOIN生成的VIEW 就會禁止逆向變更 08/29 02:26
5F:推 hhhomerun: 為啥不加進table就好 08/29 12:59
6F:→ hhhomerun: 為啥不是更新原始資料而是想要更新view 08/29 13:00