Creating an AFTER DML Trigger : Trigger after « Trigger « SQL Server / T-SQL

SQL Server / T-SQL
1. Aggregate Functions
2. Analytical Functions
3. Constraints
4. Cursor
5. Data Set
6. Data Type
7. Database
8. Date Timezone
9. Index
10. Insert Delete Update
11. Math Functions
12. Select Query
13. Sequence
14. Store Procedure Function
15. String Functions
16. Subquery
17. System
18. Table
19. Table Joins
20. Transact SQL
21. Transaction
22. Trigger
23. View
24. XML
Java
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
C# / C Sharp
C# / CSharp Tutorial
ASP.Net
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
PHP
Python
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
SQL Server / T-SQL » Trigger » Trigger after 
Creating an AFTER DML Trigger

 

4>
5CREATE TABLE employee(
6>    id          INTEGER NOT NULL PRIMARY KEY,
7>    first_name  VARCHAR(10),
8>    last_name   VARCHAR(10),
9>    salary      DECIMAL(10,2),
10>    start_Date  DATETIME,
11>    region      VARCHAR(10),
12>    city        VARCHAR(20),
13>    managerid   INTEGER
14);
15> GO
1INSERT INTO employee VALUES (1'Jason' ,  'Martin', 5890,'2005-03-22','North','Vancouver',3);
2> GO
1INSERT INTO employee VALUES (2'Alison',  'Mathews',4789,'2003-07-21','South','Utown',4);
2> GO
1INSERT INTO employee VALUES (3'James' ,  'Smith',  6678,'2001-12-01','North','Paris',5);
2> GO
1INSERT INTO employee VALUES (4'Celia' ,  'Rice',   5567,'2006-03-03','South','London',6);
2> GO
1INSERT INTO employee VALUES (5'Robert',  'Black',  4467,'2004-07-02','East','Newton',7);
2> GO
1INSERT INTO employee VALUES (6'Linda' ,  'Green' , 6456,'2002-05-19','East','Calgary',8);
2> GO
1INSERT INTO employee VALUES (7'David' ,  'Larry',  5345,'2008-03-18','West','New York',9);
2> GO
1INSERT INTO employee VALUES (8'James' ,  'Cat',    4234,'2007-07-17','West','Regina',9);
2> GO
1INSERT INTO employee VALUES (9'Joan'  ,  'Act',    6123,'2001-04-16','North','Toronto',10);
2> GO
1>
2select from employee;
3> GO
id          first_name last_name  salary       start_Date              region     city                 managerid
----------- ---------- ---------- ------------ ----------------------- ---------- -------------------- -----------
          Jason      Martin          5890.00 2005-03-22 00:00:00.000 North      Vancouver                      3
          Alison     Mathews         4789.00 2003-07-21 00:00:00.000 South      Utown                          4
          James      Smith           6678.00 2001-12-01 00:00:00.000 North      Paris                          5
          Celia      Rice            5567.00 2006-03-03 00:00:00.000 South      London                         6
          Robert     Black           4467.00 2004-07-02 00:00:00.000 East       Newton                         7
          Linda      Green           6456.00 2002-05-19 00:00:00.000 East       Calgary                        8
          David      Larry           5345.00 2008-03-18 00:00:00.000 West       New York                       9
          James      Cat             4234.00 2007-07-17 00:00:00.000 West       Regina                         9
          Joan       Act             6123.00 2001-04-16 00:00:00.000 North      Toronto                       10
1>
2>
3> -- Track all Inserts, Updates, and Deletes
4CREATE TABLE EmployeeAudit
5(ID int NOT NULL ,
6> first_name char(20NOT NULL,
7> dt datetime )
8> GO
1>
2CREATE TRIGGER trg_uid_Audit
3> ON employee
4> AFTER INSERT, DELETE
5> AS
6> SET NOCOUNT ON
7> -- Inserted rows
8INSERT EmployeeAudit(ID, first_name,dt)
9SELECT DISTINCT i.ID, i.first_name, GETDATE()
10FROM inserted i
11> -- Deleted rows
12INSERT EmployeeAudit
13(ID, first_name,dt)
14SELECT d.ID, d.first_name, GETDATE()
15FROM deleted d
16> GO
1>
2> -- Insert a new row
3INSERT employee
4(ID, first_name)
5> VALUES (16'A')
6> GO
1> -- Delete a row
2DELETE employee
3WHERE ID = 6
4> GO
1> -- Check the audit table
2SELECT FROM EmployeeAudit
3> GO
ID          first_name           dt
----------- -------------------- -----------------------
         16 A                    2007-10-20 00:37:40.743
          Linda                2007-10-20 00:37:40.773
1>
2>
3>
4> drop table EmployeeAudit
5> GO
1> drop trigger trg_uid_Audit
2> GO
1> drop table employee;
2> GO
1>

 
Related examples in the same category
1. Controlling DML Triggers Based on Modified Columns
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.