mrzrashed

ADB[7.11.18] Trigger

Nov 7th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 2.57 KB | None | 0 0
  1. TRIGGER [USE FOR audit WORK]
  2. ** USE HR Database Employee
  3.  
  4.  
  5.  
  6. CREATE DATABASE HR;
  7. USE HR;
  8. CREATE TABLE employees (
  9. E_ID VARCHAR(12) NOT NULL PRIMARY KEY,
  10. E_Name VARCHAR(25) NOT NULL,
  11. E_Address VARCHAR(55),
  12. Salary INT NOT NULL,
  13. Department VARCHAR(12)
  14. )
  15. INSERT INTO employees
  16. (E_id, E_Name, E_Address, Salary, Department) VALUES
  17. ('E011','Rakib','Cumilla',64587,'HR'),
  18. ('E012','Rakib','Dhaka',24587,'IT'),
  19. ('E013','Rakiba','Dhaka',34587,'IT'),
  20. ('E014','Rasel','Chittagong',54587,'Management'),
  21. ('E015','Robin','Chadpur',24587,'Sale'),
  22. ('E016','Rubi','Dhaka',14587,'Sale'),
  23. ('E017','Kabir','Chadpur',28587,'Management'),
  24. ('E018','Rothi','Dhaka',28587,'HR');
  25.  
  26.  
  27. /*Show massage when a user want to create a table*/
  28.  
  29. CREATE TRIGGER Hello
  30. ON database
  31. FOR create_table
  32. AS
  33. BEGIN
  34.  
  35. print('hey! you crate a new table ')
  36. END
  37. CREATE TABLE test(
  38. id int primary key,
  39. name VARCHAR(25)
  40. )
  41.  
  42. CREATE TRIGGER DropTable
  43. ON database
  44. FOR drop_table
  45. AS
  46. BEGIN
  47.  
  48. print('hey! you delete a new table ')
  49. END
  50. DROP TABLE test;
  51.  
  52.  
  53. CREATE TABLE Department (
  54. D_id INT NOT NULL PRIMARY KEY,
  55. D_Name VARCHAR(25) NOT NULL,
  56. Location VARCHAR(55)
  57. );
  58.  
  59. INSERT INTO Department (D_ID, D_Name, Location) VALUES  
  60. (11, 'BBA','Shubanbag'),
  61. (15, 'CSE', 'Shukrabad'),
  62. (35, 'SWE', 'Shukrabad'),
  63. (25,'EEE', 'Shubanbag');
  64.  
  65.  
  66. /**/
  67. CREATE TABLE backup_value(
  68. id int identity(1,1) primary key,
  69. AuditData nvarchar(1000)
  70. )
  71. CREATE TRIGGER insert_data_dept
  72. ON Department
  73. FOR INSERT
  74. AS
  75. BEGIN
  76.     DECLARE @id int
  77.     DECLARE @name VARCHAR(20)
  78.     DECLARE @location VARCHAR(30)
  79.  
  80.     SELECT @id = D_ID FROM inserted
  81.     SELECT @name = D_Name FROM inserted
  82.     SELECT @location = Location FROM inserted
  83.  
  84.     INSERT INTO backup_value VALUES(
  85.     'new Value is '+CAST(@id AS VARCHAR(20))+
  86.     'Name is '+@name+' Location '+@location+
  87.     'Time is '+CAST(GETDATE() AS VARCHAR(50))
  88.     )
  89.  
  90.  
  91. END
  92.  
  93. INSERT INTO Department (D_ID, D_Name, Location) VALUES  
  94. (111, 'BBA','Shubanbag')
  95.  
  96. SELECT * FROM backup_value
  97.  
  98.  
  99. /*Delete table row*/
  100. CREATE TABLE deleted_backup_value(
  101. id int identity(1,1) primary key,
  102. AuditData nvarchar(1000)
  103. )
  104.  
  105. ALTER TRIGGER delete_data_dept
  106. ON Department
  107. FOR DELETE
  108. AS
  109. BEGIN
  110.     DECLARE @id int
  111.     DECLARE @name VARCHAR(20)
  112.     DECLARE @location VARCHAR(30)
  113.  
  114.     SELECT @id = D_ID FROM deleted
  115.     SELECT @name = D_Name FROM deleted
  116.     SELECT @location = Location FROM deleted
  117.  
  118.     INSERT INTO backup_value VALUES(
  119.     'new Value is '+CAST(@id AS VARCHAR(20))+
  120.     'Name is '+@name+' Location '+@location+
  121.     'Time is '+CAST(GETDATE() AS VARCHAR(50))
  122.     )
  123. END
  124.  
  125. DELETE FROM Department WHERE D_id=15
  126.  SELECT * FROM backup_value;
Add Comment
Please, Sign In to add comment