跪求一个触发器编写。条件如下。 有3张表表A 字段 a,b,c表B 字段 d表C 字段 e,f,g当A中插入数据中的b=889的时候,更改B中d=d+1 ,插入c e vlaues d,f values c,f,g values a 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 create trigger tr_a on a after insert asbegin if(select b from inserted )=889 begin update b set d=d+1; insert c (e,f,g) values((SELECT D FROM B),(SELECT C FROM INSERTED ),(SELECT A FROM INSERTED)) end end只适合单条插入 参考精华贴 触发器综述http://topic.csdn.net/u/20081005/11/57061a18-c234-40ee-ba4b-1f4c3bc7f09a.html?38989 --什么版本的数据库insert into a (id,空间) values ((select id from a),(select id from a))这样也能过........... SQL SERVER 在insert的时候报错:服务器: 消息 1046,级别 15,状态 1,过程 tbl_Alerts,行 10在此上下文中不允许使用子查询。只允许使用标量表达式。 create trigger tr_a on a after insert asdeclare @dv,@fv,@gv as intbegin if(select b from inserted )=889 begin update b set d=d+1; select @dv=d+1 from b select @fv=a,@gv=c from inserted insert c (e,f,g) values select @dv,@fv,@gv end end 关于数据整合的高难问题,大家来看看! 表内数据复制 多表合并,大虾们帮忙。节日愉快! sql 语句分页问题 求大家帮忙 返回值问题?--我要返回满足条件所有的记录总数和记录. 《求》多服务器 数据同步解决思路 根据多表建视图 今天怎么这么多问题,A机连结B机数据库时提示如下错误,如何解决? 关于数据库设计和备份的一个大问题 请问有关快照和发布的问题(sqlserver) SQL2005数据库内的数据类型uniqueidentifier和C#中对应的数据类型是什么? @Happy_Stone, 谢谢你的回复。
after insert
as
begin
if(select b from inserted )=889
begin
update b
set d=d+1;
insert c (e,f,g)
values((SELECT D FROM B),(SELECT C FROM INSERTED ),(SELECT A FROM INSERTED))
end
end
只适合单条插入
--什么版本的数据库insert into a (id,空间) values ((select id from a),(select id from a))
这样也能过...........
在insert的时候报错:
服务器: 消息 1046,级别 15,状态 1,过程 tbl_Alerts,行 10
在此上下文中不允许使用子查询。只允许使用标量表达式。
after insert
as
declare @dv,@fv,@gv as int
begin
if(select b from inserted )=889
begin
update b
set d=d+1;
select @dv=d+1 from b
select @fv=a,@gv=c from inserted
insert c (e,f,g)
values select @dv,@fv,@gv
end
end