IF EXISTS (SELECT name FROM sysobjects WHERE name = 'test' AND type = 'TR') DROP TRIGGER test GO CREATE TRIGGER test ON 更新数据库的表名 FOR INSERT, UPDATE AS begin insert into 表名 select 字段名 from inserted end go
真是高手,,小弟再问一个触发器的问题,,就是我用这个触发器时: CREATE TRIGGER cfq ON [dbo].[cs] FOR INSERT AS EXEC master..xp_sendmail 'MaryM', 'New title, mention in the next report to distributors.'就提示以一信息:[Microsoft][ODBC SQL Server Driver][SQL Server]xp_sendmail:无默认邮件客户程序,或者当前邮件客户程序无法实现消息请求。请运行Microsoft Outlook并将其设为默认邮件客户程序.我已经把它设成默认邮件客户程序.还是出现这个问题:: 请问怎么解决???????
这代表三种触发的事件,他是针对行级的,当发生插入,删除,更新时,这是条件,
然后就发生结果,结果,是由你自己写SQL代码控制的
DROP TRIGGER test
GO
CREATE TRIGGER test
ON 更新数据库的表名
FOR INSERT, UPDATE
AS
begin
insert into 表名 select 字段名 from inserted
end
go
CREATE TRIGGER cfq ON [dbo].[cs]
FOR INSERT
AS
EXEC master..xp_sendmail 'MaryM',
'New title, mention in the next report to distributors.'就提示以一信息:[Microsoft][ODBC SQL Server Driver][SQL Server]xp_sendmail:无默认邮件客户程序,或者当前邮件客户程序无法实现消息请求。请运行Microsoft Outlook并将其设为默认邮件客户程序.我已经把它设成默认邮件客户程序.还是出现这个问题::
请问怎么解决???????
insert触发器,首先会先把insert的数据写到inserted表里面,inserted表可以看做是一个内存中的临时表!
delete触发器,首先把delete的数据写到deleted表中,同上!
update触发器,update的操作就是先delete再insert,所以会把delete的数据写到deleted表,insert数据写到insert表