返回信息流有下面两个表
Table1(id,name,grade)
Table2(id,name)
我的sql语句:
insert into Table1(id,name,grade)
select
'1',(select Table2.name from Table2 where id='1'),'87'
也就是说,若Table2中存在此id,则对应的name插入到Table1的name中。
问题:
我想简略一下,只需要insert into Table1(id,grade) values('1','87'),数据库自动把Table2中的name填入Table1中。貌似触发器可以解决,但不熟悉这块,请教一下版上同学如何做,请明示一下步骤,谢谢
这是一条镜像帖。来源:北邮人论坛 / database / #4682同步于 2010/7/29
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖
请教:sql语句转成触发器
pq
2010/7/29镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
create trigger triggerName
insert
on Table1
as
declare @id int
select @id=(select id from inserted)
if exists (select name from Table2 where id=@id)
begin
update Table1 set name=(select name from Table2 where id=@id) where id=@id
end
else
begin
update Table1 set name='default' where id=@id
end
你试试。