如何创建触发器sql [英] How to create a trigger sql

查看:90
本文介绍了如何创建触发器sql的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想寻求建议,如果你可以创建sql触发器,它从表A获取数据到触发器表中,如果已经在表B中创建了插入物。



如果是的话,是否有我可以遵循的示例或教程,以满足这项任务?



非常感谢

解决方案

谷歌是你的朋友:一个简单的搜索SQL INSERT TRIGGER发现它非常非常快:

HTTPS:// WWW .google.co.uk /搜索q = SQL +插入+触发&安培; OQ = SQL +插入+触发&安培; AQS = chrome..69i57j0l5.4881j0j7&安培;的SourceID =铬&安培; es_sm = 0&安培,即= UTF-8 [ ^ ]



就在列表顶部:

http://msdn.microsoft.com/en-gb/library/ms189799.aspx [ ^ ]



将来,请尝试自己做至少基础研究,不浪费你的时间或我们的时间。


你可以写一个触发器在表上的INSERT后触发。让我们创建触发器:

 CREATE TRIGGER trgAfterInsert ON [dbo]。[Employee_Test] 
FOR INSERT
AS
声明@empid int ;
声明@empname varchar(100);
声明@empsal decimal(10,2);
声明@audit_action varchar(100);

- 从表A中收集数据
从插入的i中选择@ empid = i.Emp_ID;
从插入的i中选择@ empname = i.Emp_Name;
从插入的i中选择@ empsal = i.Emp_Sal;
set @ audit_action ='插入记录 - 插入触发后。';

- 通过声明的变量插入第二个表b
插入Employee_Test_Audit
(Emp_ID,Emp_Name,Emp_Sal,Audit_Action,Audit_Timestamp)
值(@ empid,@ empname,@ empsal,@ audit_action,GETDATE());

PRINT'ONTER INSERT触发器触发。'



获取更多信息 msdn [ ^ ]


触发器 - SQL服务器 [ ^ ] < br $> b $ b

http://www.ehow.com /way_5278946_ms-sql-trigger-tutorial.html [ ^ ]

I would like to seek advice, if you can create sql trigger, which get data from table A, into trigger table, if there has been insert created into table B.

if so, is there example or tutorial I can follow, which cater to this task?

Many thanks

解决方案

Google is your friend here: a simple search "SQL INSERT TRIGGER" found it very, very quickly:
https://www.google.co.uk/search?q=sql+insert+trigger&oq=sql+insert+trigger&aqs=chrome..69i57j0l5.4881j0j7&sourceid=chrome&es_sm=0&ie=UTF-8[^]

Right at the top of the list:
http://msdn.microsoft.com/en-gb/library/ms189799.aspx[^]

In future, please try to do at least basic research yourself, and not waste your time or ours.


You can write a trigger is fired after an INSERT on the table. Let’s create the trigger as:

CREATE TRIGGER trgAfterInsert ON [dbo].[Employee_Test] 
FOR INSERT
AS
	declare @empid int;
	declare @empname varchar(100);
	declare @empsal decimal(10,2);
	declare @audit_action varchar(100);

        -- Collect data from Table A
	select @empid=i.Emp_ID from inserted i;	
	select @empname=i.Emp_Name from inserted i;	
	select @empsal=i.Emp_Sal from inserted i;	
	set @audit_action='Inserted Record -- After Insert Trigger.';

        -- Insert to second table b by declared variable
	insert into Employee_Test_Audit
           (Emp_ID,Emp_Name,Emp_Sal,Audit_Action,Audit_Timestamp) 
	values(@empid,@empname,@empsal,@audit_action,getdate());

	PRINT 'AFTER INSERT trigger fired.'


Get More info msdn[^]


Triggers -- SQL Server[^]

http://www.ehow.com/way_5278946_ms-sql-trigger-tutorial.html[^]


这篇关于如何创建触发器sql的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆