作者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/cn.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