使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
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
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
posted @ 2008-03-10 21:21  指南针  阅读(916)  评论(0编辑  收藏  举报