Creating a Trigger and raise an error : RAISERROR « Transact SQL « 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 » Transact SQL » RAISERROR 
Creating a Trigger and raise an error

1create table employee(
2>     ID          int,
3>     name        nvarchar (10),
4>     salary      int )
5> GO
1>
2create table job(
3>     ID              int,
4>     title nvarchar  (10),
5>     averageSalary   int)
6> GO
1>
2>
3insert into employee (ID, name, salaryvalues (1,  'Jason', 1234)
4> GO

(rows affected)
1insert into employee (ID, name, salaryvalues (2,  'Robert', 4321)
2> GO

(rows affected)
1insert into employee (ID, name, salaryvalues (3,  'Celia', 5432)
2> GO

(rows affected)
1insert into employee (ID, name, salaryvalues (4,  'Linda', 3456)
2> GO

(rows affected)
1insert into employee (ID, name, salaryvalues (5,  'David', 7654)
2> GO

(rows affected)
1insert into employee (ID, name, salaryvalues (6,  'James', 4567)
2> GO

(rows affected)
1insert into employee (ID, name, salaryvalues (7,  'Alison', 8744)
2> GO

(rows affected)
1insert into employee (ID, name, salaryvalues (8,  'Chris', 9875)
2> GO

(rows affected)
1insert into employee (ID, name, salaryvalues (9,  'Mary', 2345)
2> GO

(rows affected)
1>
2insert into job(ID, title, averageSalaryvalues(1,'Developer',3000)
3> GO

(rows affected)
1insert into job(ID, title, averageSalaryvalues(2,'Tester', 4000)
2> GO

(rows affected)
1insert into job(ID, title, averageSalaryvalues(3,'Designer', 5000)
2> GO

(rows affected)
1insert into job(ID, title, averageSalaryvalues(4,'Programmer', 6000)
2> GO

(rows affected)
1>
2>
3select from employee;
4> GO
ID          name       salary
----------- ---------- -----------
          Jason             1234
          Robert            4321
          Celia             5432
          Linda             3456
          David             7654
          James             4567
          Alison            8744
          Chris             9875
          Mary              2345

(rows affected)
1select from job;
2> GO
ID          title      averageSalary
----------- ---------- -------------
          Developer           3000
          Tester              4000
          Designer            5000
          Programmer          6000

(rows affected)
1>
2>
3> -- Creating a Trigger
4>
5CREATE TRIGGER tr_DelData
6> ON Employee
7> FOR DELETE
8> AS
9>     IF (SELECT Count(*FROM job0
10>     BEGIN
11>       RAISERROR 50009 'Cannot delete an employee'
12>       ROLLBACK TRANSACTION
13>       RETURN
14>     END
15> GO
1>
2delete employee
3> GO
Msg 50009, Level 16, State 1, Server JAVA2S\SQLEXPRESS, Procedure tr_DelData, Line 11
Cannot delete an employee
Msg 3609, Level 16, State 1, Server JAVA2S\SQLEXPRESS, Line 2
The transaction ended in the trigger. The batch has been aborted.
1>
2select from employee
3> GO
ID          name       salary
----------- ---------- -----------
          Jason             1234
          Robert            4321
          Celia             5432
          Linda             3456
          David             7654
          James             4567
          Alison            8744
          Chris             9875
          Mary              2345

(rows affected)
1>
2> drop trigger tr_DelData
3> drop table employee;
4> drop table job;
5> GO
1>

           
       
Related examples in the same category
1. How to raise errors
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.