日期:2014-05-17  浏览次数:20403 次

Sql server 中创建了视图如何删除其中的一行
Sql server 中创建了视图, 视图是两个表有主外键约束连起来的

请问怎么删除视图的一行? 是不是要同时删除这两张表中的对应的行

我的想法是创建一个instead of 触发器,触动触发器后就 执行删除这两行的语句

------解决方案--------------------
引用:
请问您说的级联删除 是 cascading 吗?
能给个例子就好了


级联删除的例子:
create table OA_User(Uid int primary key ,uname varchar(20))


create table OA_tb
(
id int identity(1,1)primary key ,
Uid int foreign key references OA_User(Uid) on delete cascade --级联删除
)

insert into OA_User
values(1,'张三'),
      (2,'李四')
      
insert into OA_tb
values(1),(1),(1),(2),(1)      


--删除主表中udi 为2的记录,没有报错
delete from oa_user where uid = 2

--附表中的uid为2的记录,自动删除
select * from oa_tb 
/*
id Uid
1 1
2 1
3 1
5 1
*/