27,579
社区成员
发帖
与我相关
我的任务
分享
create trigger dbo.trigger_xx_update
on dbo.a
for update
as
begin
if update(fmrpclosed) and exists(select 1 from inserted where fmrpclosed = 1)
begin
update d
set fuse = c.fnote
from inserted a,b,c
where
d.fplanorderinterid=a.finterid
and a.forgppointerid=c.finterid
and c.finterid=b.finterid
and d.fsourceentryid=c.fentryid
end
go
[/quote]
非常感谢!create trigger dbo.trigger_xx_update
on dbo.a
for update
as
begin
if update(fmrpclosed) and exists(select 1 from inserted where fmrpclosed = 1)
begin
update d
set fuse = c.fnote
from inserted a,b,c
where
d.fplanorderinterid=a.finterid
and a.forgppointerid=c.finterid
and c.finterid=b.finterid
and d.fsourceentryid=c.fentryid
end
go
--drop table t1,t2
--go
CREATE TABLE t1(id INT ,NAME VARCHAR(10))
CREATE TABLE t2(id INT ,NAME VARCHAR(10),xx varchar(10))
INSERT INTO t1
VALUES(1,'a')
go
CREATE TRIGGER dbo.trigger_t2_insert
ON t2
for INSERT
AS
BEGIN
--用表t1的数据,更新表t2的数据
UPDATE t2
SET xx = t1.NAME
FROM INSERTED a
inner join t1
on t1.id = a.id
WHERE t2.id = a.id
END
go
--插入t2表,xx字段会自动更新成t1表的字段
INSERT INTO t2 (id,name)
VALUES(1,'a')
SELECT * FROM t2
/*
id NAME xx
1 a a
*/
--drop table t1,t2
--go
CREATE TABLE t1(id INT ,NAME VARCHAR(10))
CREATE TABLE t2(id INT ,NAME VARCHAR(10),xx varchar(10))
INSERT INTO t1
VALUES(1,'a')
go
CREATE TRIGGER dbo.trigger_t2_insert
ON t2
for INSERT
AS
BEGIN
--用表t1的数据,更新表t2的数据
UPDATE t2
SET xx = t1.NAME
FROM INSERTED a
inner join t1
on t1.id = a.id
WHERE t2.id = a.id
END
go
--插入t2表,xx字段会自动更新成t1表的字段
INSERT INTO t2 (id,name)
VALUES(1,'a')
SELECT * FROM t2
/*
id NAME xx
1 a a
*/
CREATE TABLE t1(id INT IDENTITY(1,1),NAME VARCHAR(10))
CREATE TABLE t2(id INT ,NAME VARCHAR(10))
INSERT INTO t2
VALUES(1,'a')
go
CREATE TRIGGER test ON t1 AFTER INSERT
AS
BEGIN
UPDATE t2
SET t2.NAME=a.NAME
FROM INSERTED a
WHERE a.id=@@IDENTITY
END
INSERT INTO t1 (name)
VALUES('b')
SELECT * FROM t2
/*
id NAME
----------- ----------
1 b
*/