我在table1里面建立了一个触发器,触发器的内容是 只要table1 里面有新增,删除,或更改就将 table1里面的的内容 更新到table2 里面,然后清空table1里面的内容。 我这个为什么最后table2里面没数据, 正确的该怎么写?
create trigger tg1 on table1 for insert,update,delete
as
update table2 set par_code=code from table1 where table1.id=table2.id
delete table1
go
insert into table1(id,code)values(30,1003)
select * from Table2
create trigger tg1 on table1 for insert,update,delete
as
update table2 set par_code=code from table1 where table1.id=table2.id
delete table1
go
insert into table1(id,code)values(30,1003)
select * from Table2
解决方案 »
- SQL server 身份验证登陆后,一些操作不成功
- 人事变动报表
- 从 varchar 数据类型到 datetime 数据类型的转换产生一个超出范围的值
- 求十进制转换十六进制sql语句。
- 想写个批处理,写完之后发现一个问题,'insert into'时候指定一个列名,可是这个列名有能不存在。如何能在插入之前?
- sql server 2000 安装问题 (安装现场等待!!!)
- select 查询数据库中表的数量
- 求救:服务器: 消息 8946,级别 16,状态 12,行 2(已经搞半个月)
- 怎样将flash放到sql中
- 这句错在哪里update (select top 2 * from HPTraceCode where planid=15 and state='2' order by bodyCode DESC) set state='1'
- 如何MS SQL 2005转换为MYSQL的文件
- 四张表传参的问题
as
update table2 set par_code=code from inserted where table1.id=table2.id
delete table1
go
insert into table1(id,code)values(30,1003)
select * from Table2
如果是update和delete,那么光改称inserted没用。
像你这种情况,就是table1不保留数据,在table1上建立和instead of触发器不可以了吗create table t1(id int,tname nvarchar(20))create table t2(id int ,tname nvarchar(20))
create trigger tk_g on t1 instead of insert
as
insert into t2 select * from inserted