有个触发器的问题

allenq 2003-10-17 11:31:14
create table tba
(
a int,
b int,
c int
)
go
我要设计一个触发器:insert 的时候 c = a-b
如何处理?
create trigger I_a on a
instead of insert
as
set nocount on
update inserted set c = a-b
go
提示: 不能更新逻辑表 INSERTED 和 DELETED。
...全文
51 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
allenq 2003-10-17
  • 打赏
  • 举报
回复
我这个表里没有的主键,唉,那没办法了,只好设置一个主键了
sdhdy 2003-10-17
  • 打赏
  • 举报
回复
--要用for insert,否则照你这么写,该记录插入不了
create trigger I_a on a
for insert
as
set nocount on
update a set c = a.a-a.b from inserted where a.主键=inserted.主键
go
yujohny 2003-10-17
  • 打赏
  • 举报
回复
可以设在公式里

如果要触发器
create trigger I_a on a
instead of insert
as
set nocount on
update a set c = a-b
where 主键 in (select 主键 from inserted)
txlicenhe 2003-10-17
  • 打赏
  • 举报
回复
直接写在字段的公式里面不行么?

34,576

社区成员

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

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