Advertisement
Guest User

Untitled

a guest
May 23rd, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.98 KB | None | 0 0
  1. alter trigger EmpIns
  2. on Emp for delete
  3. as
  4. begin
  5. rollback;
  6. end
  7.  
  8. delete from emp;
  9. select * from emp;
  10. //nie daje usunac
  11. -----------------------------------------
  12. create trigger EmpInss
  13. on Emp for insert
  14. as
  15. begin
  16. update emp set
  17. comm=0
  18. where comm is null;
  19. end
  20.  
  21. insert into emp(empno, ename, comm)values
  22. (2322, 'Kowalski',120),
  23. (2323,'Kowalski2',NULL)
  24.  
  25. select * from emp;
  26. //zmienia wszystki znaczenia w kolumnie comm na 0(zero);
  27. -------------------------------------------------------------------
  28. create trigger EmpInsUpd
  29. on Emp for insert
  30. as
  31. begin
  32. --inserted,deleted
  33. select*from inserted;--widzimy ktore dane byly wstawione
  34. if EXISTS(select 1 from inserted where sal<1000)
  35. Begin
  36. declare @TempTable table
  37. (
  38. id int identity primary key,
  39. Empno varchar(20)
  40. );
  41. insert into @TempTable(Empno)
  42. select Empno, SAL from inserted;
  43.  
  44. Declare @MinId int = (select min(id) from @TempTable);
  45. Declare @MaxId int = (select max(id) from @TempTable);
  46. while(@MinId<=@MaxId)
  47. begin
  48. if EXISTS(Select 1 from @TempTable where SAL<1000 and id= @MinId)
  49. begin
  50. declare @Empno varchar(30)
  51. update emp set
  52. sal = (select sal from emp deleted where empno = @Empno)
  53. where empno =@Empno
  54. end
  55. set @MinId = @MinId+1;
  56. end
  57.  
  58. end
  59. end
  60.  
  61. update emp set sal=sal-100;
  62.  
  63. select * from emp;
  64. ----------------------------------------------------------------------------------------
  65. CREATE TRIGGER T6Z6
  66. ON EMP FOR INSERT, UPDATE, DELETE
  67. AS
  68. BEGIN
  69. IF EXISTS(SELECT 1 FROM INSERTED WHERE INSERTED.ENAME != ENAME)
  70. BEGIN
  71. ROLLBACK;
  72. END
  73. IF EXISTS(SELECT 1 FROM INSERTED WHERE EXISTS (SELECT ENAME FROM EMP
  74. WHERE INSERTED.ENAME = ENAME))
  75. BEGIN
  76. ROLLBACK;
  77. END
  78. IF NOT EXISTS(SELECT 1 FROM INSERTED WHERE SAL > 0)
  79. BEGIN
  80. ROLLBACK;
  81. END
  82. END
  83.  
  84. INSERT INTO EMP(EMPNO, ENAME, COMM, SAL)
  85. VALUES(2325, 'Kowalski', 120, 1900);
  86.  
  87. DELETE FROM EMP
  88. WHERE SAL > 0;
  89.  
  90. UPDATE EMP
  91. SET ENAME = 'Zmiennik';
  92.  
  93. SELECT * FROM EMP;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement