???????????????????trigger??
???????????????
????http://wenku.baidu.com/link?url=brtd9myO4XIaEjRPaRB0yWgV2_TfXmNxS6KKjB_avq7d0hPs3SknJdrs-JLtWe–H-f3q-I61HUxkcqqAFMC0z6Zf65QBbmFRB8TAlULmGS
????http://www.cnblogs.com/friends-wf/p/3793417.html?娲�???????
????http://blog.csdn.net/indexman/article/details/8023740/??????????????????????????!!??
??????????????????娲�?????????????小?????????????????校????????????????????????????????小?????????????????????????????写??????写???????oracle???????????????????insert??update??delete????????????????????????oracle???????????????????????oracle????????????????????????????????????????????????????????????????????????????????????????????????????????????????
??????????????
????create [or replace] trigger ????????
????before|after|instead of ?????? on ????|?????|database|?????.schema
????[for each row [when]]
????PL/SQL??|???霉???(call procedure_name)
????or replace????????????????????????????????婊�
????before|after?????????????
????instead of???婊�??????????????屑???????
??????????????????????????????????????????
????on?????????????????????
????for each row [when]???????????????????????未?????
????PL/SQL??|???霉???(call procedure_name)????????????????械????
??????????????
?????????????????????
????before??????????????????????????写???????
????create [or replace] trigger ????????
????before insert|delete|update on ????
????before create|drop|alter on database|?????.schema
????[for each row [when]]
????PL/SQL??|???霉???(call procedure_name)
?????屑????????????????????????????????貌?????????????????????????????????巍??????for each row??睢�
????create [or replace] trigger ????????
????before|after|instead of insert|delete|update on ????|?????
????for each row [when]
????PL/SQL??|???霉???(call procedure_name)
???????屑?????????PL/SQL???when????锌????????????????????????????????????????????new??old??????????PL/SQL???????????????????????????????e??(:)??????when?????????e???
?????????????????????????????娲�??????娲�?????????????????娲�????????????????????貌???校???????????????????????????小??????????????????????????????????小???????????????????????????????写??????写???????firing????ORACLE??????????????????械?INSERT??UPDATE??DELETE????????????????????????ORACLE???????????????????????ORACLE?????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????1 DML??????
????ORACLE??????DML?????写???????????DML??????????????写?????????????????谢???????????写?????
????2 ?????????
??????????ORACLE?????????????????????????????????胁?????????????????????????????ORACLE 8????????????????????????????
????3 ????????
????ORACLE 8i ???????????????????????????????????????ORACLE?????????????薪??写???????ORACLE?????????????
??????浼�??????????????????????????????????????巍?未???for each row??睢�
????create [or replace] trigger ????????
????before|after insert|delete|update on ????|?????
????before|after create|drop|alter on database|?????.schema
????PL/SQL??|???霉???(call procedure_name)
?????屑??????????屑?????????DML?????????????????巍?
??????浼�???????????DML????????危??????TABLE???胁?????????500?校??????????????浼�????????????危????屑????????????500????? 
???????????????????屑???????????????????浼�????????????????????????????????
????1?? ????????邪???FOR EACH ROW???   www.2cto.com 
????2?? ??BEFORE……FOR EACH ROW???????校???????????????????????? 
????DML??????
????????DML??????
????????????????????????????????????????????????????????????????????????????????????????????写????????????????
????DML????????????
????l         CREATE TRIGGER?????????????????????32KB??
????l         ???????????SELECT ???????SELECT … INTO …??????????????伪???????SELECT ???
????l         ???????胁????????????????????? COMMIT; ROLLBACK?? SVAEPOINT ???
????l         ???????????????????????????????????????????
????l         ???????胁??????LONG?? LONG RAW ?????
????l         ??????????????LOB ?????械??????????????? :NEW ???LOB???械??????
????DML?????????????
????l         ?????????????????????????????????BEFORE???????????DML??????????????????些?????????????????些?????????????AFTER???????????DML?????????????????貌????????些?o????
????l         ????????????????????????????????DML??????INSERT??UPDATE??DELETE???????????????????????????????????????????????????OR??????????????AND?????????
????l         ????谓?????????????邪???????????????INSERT??UPDATE??DELETE????????????????????????????胁??????????????ORACLE????????????谓???
????1????INSERTING?????????????INSERT??????TRUE???????FALSE??
????2????UPDATING [??column_1??column_2??…??column_x??]?????????????UPDATE      ???????????column_x?校??????TRUE???????FALSE??????column_x???????
????3????DELETING?????????????DELETE????????TRUE???????FALSE??
??????????????????????????????????????
????l         ?????????????浼�?????屑?????????
????l         ????????????WHEN??????????????????????????屑?????????????????????????UPDATING??????械??斜??
????instead of ??????:??????????DML??????????????锌?????????????????????????????????????????渭????????????????????懈????
????create [or replace] trigger ????????
????instead of insert|delete|update on ?????
????[for each row [when]]
????PL/SQL??|???霉???(call procedure_name)
????????????????????????????????with check option???;
????for each row????????????instead of????????????屑????????????????屑?????????
??????斜?????;
??????斜?????????????????????instead of??????????????DML?????????????   
?????????????:
????l         ?????????????????????????????? ???纾篋ML???(INSERT?? UPDATE?? DELETE??????????????????????)??DDL?????CREATE??ALTER??DROP???????????写??????????????????????????????????????????????????????????????????????????????
????l         ???????????TRIGGER ??????????????????BEFORE?????????(AFTER)??????????????????TRIGGER ????????
????l         ??????????????TRIGGER ????????????????????????????????????????椤� ???纾篜L/SQL ?椤�
????l         ????????????????????????????????????些????????????????????????????????????写?????????
????l         ????????????WHEN????????????????????械??????????TRUE??????????????????????写????????????写?????????
????l         ??????????????????????????????械??????????浼�(STATEMENT)?????????屑?(ROW)????????
??????浼�(STATEMENT)?????????????????????????????????????????危?
?????屑?(ROW)??????????????????????????????????貌?????????????????????????????????巍?
??????写??????????????????????
????l         ?????????????????
????l         ???????????12???????????????????????????????????????????????????????????????矛???
????l         ???????????????????????????DML????????????????
????l        ?????????32KB???????????????????????????????????????CALL?????械??谩?
????l         ???????????胁????????DML???SELECT??INSERT??UPDATE??DELETE???????????DDL???CREATE??ALTER??DROP????
????l         ???????胁????????????????(COMMIT??ROLLBACK??SAVEPOINT)????????????????????????????????????????????????????????????????
????l         ????????????械?????魏喂?????????????????????????????
????l         ????????????胁????????魏?Long??blob?????????new????old?????????械??魏?long??blob?小?
????l         ?????????????(??DML????????INSTEAD OF????????????????)??????????????薪??????
??????scott????锟�?????????????????
????Sql????
????-- ??浼�??????  
????-- ????????????????????  
????create or replace trigger tr_sec_emp  
????-- before:??DML????????  
????before insert or update or delete on emp
????-- ??????????????????屑???????浼�????????????? FOR EACH STATEMENT  
????begin 
????if to_char(sysdate??'DAY'??'nls_date_language=AMERICAN')  
????in('SAT'??'SUN') then 
????case 
????-- ???????????Insert?????????????谓???????True???????False  
????when inserting then 
????raise_application_error(-20001??'??????????????????????');  
????-- ???????????Update?????????????谓???????True???????False  
????when updating then 
????raise_application_error(-20002??'?????????????????????');  
????-- ???????????Delete?????????????谓???????True???????False  
????when deleting then 
????raise_application_error(-20003??'??????????????????????');  
????end case;  
????end if;     
????end;  
????/