基本语法
create trigger tri_name
on table
for insert/update/deleted
as
SQL code
例:
create trigger tri_mc(tri_mc:自定义触发器的名称)
on table (table:触发的表名)
for insert (触发类型:insert,插入数据触发 update,更新数据触发 delete,删除数据触发)
as
declare @kssj datetime (定义...
触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。 触发器可以从 DBA_TRIGGERS ,USER_TRIGGERS 数据字典中查到。SQL3的触发器是一个能...
ALTER trigger [dbo].[trg_allwage]
on [dbo].[Factory]
after insert
as
begin
declare @allwages float
select @allwages=sum(wages) from dbo.employee
update dbo.Factory set allwages=@allwages where factory='A1001'
end
这样改试一下。
楼主的语法是按orcale来的吧?sql server2000中的trigger中没有before、for each row、new等关键字。下面我写了个,能实现你的功能,只是不知道有没有性能更好的写法。期待更佳的....
if exists(select * from sysobjects where name='Insert_Or_Update_sal')
drop trigger Insert_Or_Update_sal
go
CREAT...
CREATE TRIGGER TG_UPT_TTD ON [dbo].[TABLE]
FOR INSERT, UPDATE
AS
update TABLE
set D = 'TRUE'
from TABLE,INSERTED d
where TABLE.主键 = d.主键
AND table.A = 'TRUE'
AND table.B = 'TRUE'
AND table.C = 'TRUE'
标签:SQL,触发器,写法