关于Insead of触发器的用法及意义

rookie_one 2006-08-23 09:56:07
今天学习了一下触发器的用法,看了一点比较简单的用例。
我实践了一下
create view all_animal as
select animal_kind,animal_eat,animal_name from animal

create trigger tr_animal
on all_animal instead of insert
as begin
insert into animal
select animal_kind,animal_eat,animal_name from inserted
end

insert into all_animal values('草坑','蚊子','青蛙')

select * from all_animal
select * from animal

目前看到的例子让我觉得Instead of触发器似乎就是为了保证基表的记录随着视图的变化同步变化?
不知我理解的对不对,是不是应该有很多其他的意义和用法?请大家帮忙指点一下,让我扩展一下视野
:)
...全文
238 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
rookie_one 2006-08-23
  • 打赏
  • 举报
回复
引用:
netcup(茶杯)
instead of 触发器主要是替代,若你插入某个表,则实际执行的是INSTEAD OF后的语句,实际没有插入数据给该表

可是我执行了往视图all_animal中Insert语句之后,视图all_animal 和基表animal 都被插入了数据呀
netcup 2006-08-23
  • 打赏
  • 举报
回复
instead of 触发器主要是替代,若你插入某个表,则实际执行的是INSTEAD OF后的语句,实际没有插入数据给该表
i9988 2006-08-23
  • 打赏
  • 举报
回复
如果你的视图复杂点,比如涉及两个表

你写Insead of insert触发器的时候就会发现有所不同,你可以有选择的只插入一个表,也可以根据需要判断是否要插入哪个表
achongsky 2006-08-23
  • 打赏
  • 举报
回复
Insead of insert
用触发器里的操作代替插入的操作

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧