sqlserver触发器怎么写
时间: 2023-07-03 18:20:00 浏览: 99
SQL Server触发器是一种特殊的存储过程,可以在特定的表上自动执行。以下是一个简单的示例,展示如何编写SQL Server触发器:
```sql
CREATE TRIGGER trigger_name
ON table_name
FOR INSERT, UPDATE, DELETE
AS
BEGIN
-- 触发器代码在此处
END
```
其中,`trigger_name`是你为触发器指定的名称,`table_name`是触发器将要绑定的表的名称。`FOR INSERT, UPDATE, DELETE`表示触发器将在插入、更新或删除数据时执行。在`BEGIN`和`END`之间的代码将是触发器的主体。
触发器可以在表上执行各种操作,包括插入、更新和删除数据,以及验证数据的有效性。你可以在触发器中使用`INSERTED`和`DELETED`表,这两个表分别包含被插入、更新或删除的数据的副本。
例如,以下触发器在表`customers`中插入数据时发送一封电子邮件:
```sql
CREATE TRIGGER tr_send_email
ON customers
FOR INSERT
AS
BEGIN
DECLARE @customer_name varchar(50)
SELECT @customer_name = name FROM INSERTED
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'Default',
@recipients = 'recipient@domain.com',
@subject = 'New customer added',
@body = 'A new customer has been added: ' + @customer_name
END
```
这只是SQL Server触发器的基本示例。你可以根据自己的实际需求来编写更复杂的触发器。
阅读全文