diff --git a/trigger_ddl.sql b/trigger_ddl.sql new file mode 100644 index 0000000..790b697 --- /dev/null +++ b/trigger_ddl.sql @@ -0,0 +1,22 @@ +USE Study +GO + +-- Æ®¸®°Å »ý¼º + +CREATE TRIGGER ROLLBACK_TRIGGER +ON DATABASE +FOR DROP_TABLE +AS + BEGIN + + PRINT('DDL trigger: rollback') + + ROLLBACK TRANSACTION + + END + + +-- Å×½ºÆ® +DROP TABLE EMPLOYEE + +SELECT * FROM EMPLOYEE \ No newline at end of file diff --git a/trigger_dml.sql b/trigger_dml.sql new file mode 100644 index 0000000..c279cb6 --- /dev/null +++ b/trigger_dml.sql @@ -0,0 +1,48 @@ +USE Study +GO + +-- AFTER(FOR) Æ®¸®°Å »ý¼º + +CREATE TRIGGER NEW_EMP_SAL +ON EMPLOYEE +FOR INSERT +AS + BEGIN + + PRINT('NEW_EMP_SAL Trigger is invoked.') + + SELECT * FROM inserted + + UPDATE EMPLOYEE SET SALARY = 100 + FROM inserted, EMPLOYEE + WHERE inserted.ENO = EMPLOYEE.ENO + + PRINT('Salary of new comer becomes 100') + + SELECT * FROM inserted, EMPLOYEE WHERE inserted.ENO = EMPLOYEE.ENO + + END + + +-- Å×½ºÆ® +INSERT INTO EMPLOYEE(ENO, ENAME) VALUES(300, 'newcommer') + + + + +-- INSTEAD OF Æ®¸®°Å »ý¼º + +CREATE TRIGGER NO_UPDATE +ON DEPARTMENT +INSTEAD OF UPDATE +AS + BEGIN + + PRINT('Update for the DEPARTMENT is prevented') + + END + +-- Å×½ºÆ® +SELECT * FROM DEPARTMENT +UPDATE DEPARTMENT SET LOC='SEOUL' +SELECT * FROM DEPARTMENT