NoNameCracksInc

SQL trigger 2

Jan 22nd, 2013
442
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 1.80 KB | None | 0 0
  1. Edited trigger from my last paste.Syntax is for mysql and you can see what changed since old trigger at the bottom of paste.
  2.  
  3. DELIMITER $$
  4. DROP TRIGGER IF EXISTS restrictive_trigger;
  5. CREATE TRIGGER restrictive_trigger
  6. AFTER INSERT ON test1
  7. FOR EACH ROW
  8. BEGIN
  9. IF NEW.input <> 1000
  10. AND
  11. IF (NEW.input > 1000, 1,0)=0
  12. AND
  13. IF (NEW.input < 1000, 1,0)=0
  14. THEN
  15. INSERT INTO test3() VALUES
  16. ('NOT_ALLOWED',NOW(),USER());
  17. END IF;
  18. IF NEW.input IN
  19. ('q','w','e','r','t','y','u','i','o','p','l','k','j','h','g','f','d','s','a','z','x','c','v','b','n','m')
  20. THEN
  21. INSERT INTO test2() VALUES
  22. ('EMPTY','EMPTY','EMPTY','EMPTY');
  23. END IF;
  24. IF NEW.input = '0'
  25. THEN
  26. DELETE FROM test2 WHERE A LIKE 'EMPTY';
  27. END IF;
  28. IF NEW.input = '0'
  29. THEN
  30. INSERT INTO test3() VALUES
  31. ('LETTER_INSERTED',NOW(), USER());
  32. END IF;
  33. IF NEW.input > 1000
  34. THEN
  35. INSERT INTO test2() VALUES
  36. ('MORE_THAN_THOUSAND',new.input,'OKAY',NOW());
  37. END IF;
  38. IF NEW.input = 1000
  39. THEN
  40. INSERT INTO test2() VALUES
  41. ('ONE_THOUSAND',NEW.input,'OKAY',NOW());
  42. END IF;
  43. IF NEW.input < 1000
  44. AND
  45. IF (NEW.input <> 0, 1,0)=1
  46. THEN
  47. INSERT INTO test2() VALUES
  48. ('LESS_THAN_THOUSAND',NEW.input,'OKAY',NOW());
  49. END IF;
  50. IF NEW.input = '-1'
  51. THEN
  52. DELETE FROM TEST2 WHERE A LIKE 'EMPTY'
  53. OR
  54. A LIKE 'MORE_THAN_THOUSAND'
  55. OR
  56. A LIKE 'LESS_THAN_THOUSAND'
  57. OR
  58. A LIKE 'ONE_THOUSAND';
  59. END IF;
  60. IF NEW.input = '1'
  61. THEN
  62. DELETE FROM test2 WHERE B LIKE '1';
  63. END IF;
  64. IF NEW.input LIKE '1'
  65. THEN
  66. DELETE FROM test3 WHERE ERROR_TYPE LIKE 'LETTER_INSERTED';
  67. END IF;
  68. UPDATE test2 SET STATUS = 'OKAY*' WHERE A LIKE '1000000';
  69. UPDATE test3 SET USER = 'ODBC@localhost(YES)' WHERE USER LIKE 'ODBC@localhost';
  70. UPDATE test3 SET USER = 'Unknown' WHERE USER LIKE '_______________%';
  71. END;
  72. $$
  73.  
  74. If you insert into test1 value "-1" you clean table test2 and if you insert value "1" you clean test 3 table.
Advertisement
Add Comment
Please, Sign In to add comment