Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Edited trigger from my last paste.Syntax is for mysql and you can see what changed since old trigger at the bottom of paste.
- DELIMITER $$
- DROP TRIGGER IF EXISTS restrictive_trigger;
- CREATE TRIGGER restrictive_trigger
- AFTER INSERT ON test1
- FOR EACH ROW
- BEGIN
- IF NEW.input <> 1000
- AND
- IF (NEW.input > 1000, 1,0)=0
- AND
- IF (NEW.input < 1000, 1,0)=0
- THEN
- INSERT INTO test3() VALUES
- ('NOT_ALLOWED',NOW(),USER());
- END IF;
- IF NEW.input IN
- ('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')
- THEN
- INSERT INTO test2() VALUES
- ('EMPTY','EMPTY','EMPTY','EMPTY');
- END IF;
- IF NEW.input = '0'
- THEN
- DELETE FROM test2 WHERE A LIKE 'EMPTY';
- END IF;
- IF NEW.input = '0'
- THEN
- INSERT INTO test3() VALUES
- ('LETTER_INSERTED',NOW(), USER());
- END IF;
- IF NEW.input > 1000
- THEN
- INSERT INTO test2() VALUES
- ('MORE_THAN_THOUSAND',new.input,'OKAY',NOW());
- END IF;
- IF NEW.input = 1000
- THEN
- INSERT INTO test2() VALUES
- ('ONE_THOUSAND',NEW.input,'OKAY',NOW());
- END IF;
- IF NEW.input < 1000
- AND
- IF (NEW.input <> 0, 1,0)=1
- THEN
- INSERT INTO test2() VALUES
- ('LESS_THAN_THOUSAND',NEW.input,'OKAY',NOW());
- END IF;
- IF NEW.input = '-1'
- THEN
- DELETE FROM TEST2 WHERE A LIKE 'EMPTY'
- OR
- A LIKE 'MORE_THAN_THOUSAND'
- OR
- A LIKE 'LESS_THAN_THOUSAND'
- OR
- A LIKE 'ONE_THOUSAND';
- END IF;
- IF NEW.input = '1'
- THEN
- DELETE FROM test2 WHERE B LIKE '1';
- END IF;
- IF NEW.input LIKE '1'
- THEN
- DELETE FROM test3 WHERE ERROR_TYPE LIKE 'LETTER_INSERTED';
- END IF;
- UPDATE test2 SET STATUS = 'OKAY*' WHERE A LIKE '1000000';
- UPDATE test3 SET USER = 'ODBC@localhost(YES)' WHERE USER LIKE 'ODBC@localhost';
- UPDATE test3 SET USER = 'Unknown' WHERE USER LIKE '_______________%';
- END;
- $$
- 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