使MSSql Server 视图可更新
1. 创建视图
2. 添加触发器
Create Trigger triggerName On ViewName Instead of Insert --用于Insert操作
as
Begin
--在这儿使用Inserted表来获得实际插入的数据,如
Insert Into baseTable Select f1,f2 From Inserted
End
as
Begin
--在这儿使用Inserted表来获得实际插入的数据,如
Insert Into baseTable Select f1,f2 From Inserted
End
Create Trigger trigname On ViewName Instead of Update
as
Begin
Set NOCount ON --不报告受影响的行数
Declare @v1 type,v2 type -- 定义局部变量
Select @V1=F1,@V2=F2 From Inserted --获取更新的数据
Update BaseTabe Set F1=@V1,F2=@V2 Where ID=@ID
End
as
Begin
Set NOCount ON --不报告受影响的行数
Declare @v1 type,v2 type -- 定义局部变量
Select @V1=F1,@V2=F2 From Inserted --获取更新的数据
Update BaseTabe Set F1=@V1,F2=@V2 Where ID=@ID
End
1Create Trigger trigname On ViewName Instead of Delete
2as
3Begin
4 Set NOCount ON --不报告受影响的行数
5 Declare @ID int
6 Select @ID = ID From Deleted --这儿变成了Deleted表,Inserted表中始终为空。
7 Delete BaseTable Where ID=@ID
8End
2as
3Begin
4 Set NOCount ON --不报告受影响的行数
5 Declare @ID int
6 Select @ID = ID From Deleted --这儿变成了Deleted表,Inserted表中始终为空。
7 Delete BaseTable Where ID=@ID
8End