Oracle Trigger¼òµ¥Ó÷¨
1. trigger ÊÇ×Ô¶¯Ìá½»µÄ£¬²»ÓÃCOMMIT£¬ROLLBACK
2. trigger×î´óΪ32K£¬Èç¹ûÓи´ÔÓµÄÓ¦ÓÿÉÒÔͨ¹ýÔÚTRIGGERÀïµ÷ÓÃPROCEDURE»òFUNCTIONÀ´ÊµÏÖ¡£
3. Óï·¨
CREATE OR REPLACE TRIGGER <trigger_name>
<BEFORE | AFTER> <ACTION>
ON <table_name>
DECLARE
<variable definitions>
BEGIN
<trigger_code>
EXCEPTION
<exception clauses>
END <trigger_name>;
/
Àý×Ó£¬triggerµ÷ÓÃsequence×Ô¶¯Ìí¼ÓÖ÷¼üid£º
create sequence pk_sys_dictionary
start with 1
increment by 1
nocache;
create or replace trigger tri_sys_dictionary
before insert on sys_dictionary
for each row
declare
begin
select pk_sys_dictionary.nextval into :new.id from dual;
end;
/
Ïà¹ØÎĵµ£º
ʲôÊǺϲ¢¶àÐÐ×Ö·û´®£¨Á¬½Ó×Ö·û´®£©ÄØ£¬ÀýÈ磺
SQL> desc test;
Name Type Nullable Default Comments
------- ------------ -------- ------- --------
COUNTRY VARCHAR2(20) Y &nb ......
Õâ¶Îʱ¼äΪ¹«Ë¾ÄÚ²¿µÄÊý¾Ý´¦Àí¿ª·¢ÁËÒ»¸ö¹¤¾ß£¬Ç£Éæµ½ÔÚOracleÖм¯³ÉjavaÓ¦Óã¬×ܽáÁËһЩ¾Ñ飬ÒÔ¹©´ó¼Ò²Î¿¼ÁË£¡
³ÌÐò·ÖÁ½²¿·Ö£¬Ç°¶Ë½çÃæÓÉVB/VC¿ª·¢£¬Ö÷ҪʵÏÖÊý¾Ý´¦ÀíÅäÖü°³£¹æ¼Ç¼ÔËË㣬Õⲿ·ÖûÓÐʲôºÃ˵µÄÁË¡£
ºǫ́ÒÔOracleΪÊý¾Ý»ù´¡´¦ÀíÍÐ¹ÜÆ½Ì¨£¬ÔÚÊý¾Ý´¦Àí¹ý³ÌÖУ¬ÐèÒª¶ÔһЩÃû³Æ¡¢µØÖ·Ê²Ã´µÄ½øÐÐÕªÒªÌáÈ¡¡¢² ......
ÀûÓÃoracleÉ󼯹¦ÄÜÀ´¼à²âÊÔ»·¾³µÄ±ä»¯
×ö¹ý²âÊÔµÄÈ˶¼Ó¦¸Ã»áÅöµ½ÕâÑùµÄÇé¿ö£º²âÊÔ·¢ÏÖµÄbugÔÚ¿ª·¢»úÆ÷ÉÏûÓгöÏÖ£¬ÏÔÈ»ÕâÊÇ»·¾³²îÒìµÄÔÒò¡£Ï൱¶àÇé¿öÏ£¬ÒòΪ²âÊÔʹÓõÄÊý¾Ý¿â½á¹¹ºÍ¿ª·¢Ê¹ÓõÄÊý¾Ý¿â½á¹¹²»Ò»ÖÂÔì³ÉµÄ¡£ÓÈÆäÊÇһЩ¹«Ë¾ÔÚÌá½»²âÊÔ°æ±¾µÄʱºò£¬×¢ÖØÓ¦Óà ......
in ÊǰÑÍâ±íºÍÄÚ±í×÷hash Á¬½Ó£¬¶øexistsÊǶÔÍâ±í×÷loopÑ»·£¬Ã¿´ÎloopÑ»·ÔÙ¶ÔÄÚ±í½øÐвéѯ¡£
Ò»Ö±ÒÔÀ´ÈÏΪexists±ÈinЧÂʸߵÄ˵·¨ÊDz»×¼È·µÄ¡£
Èç¹û²éѯµÄÁ½¸ö±í´óСÏ൱£¬ÄÇôÓÃinºÍexists²î±ð²»´ó¡£
in ÊǰÑÍâ±íºÍÄÚ±í×÷hash Á¬½Ó£¬¶øexistsÊǶÔÍâ±í×÷loopÑ»·£¬Ã¿´ÎloopÑ»·ÔÙ¶ÔÄÚ±í½øÐвéѯ¡£
Ò»Ö ......
ÓÃsqlplusÆô¶¯Êý¾Ý¿â
sqlplus /nolog
SQL> connect system/change_on_install as sysdba
SQL> startup
ÓÃsqlplusÍ£Ö¹Êý¾Ý¿â$ORACLE_HOME/bin/sqlplus /nolog
SQL> connect system/change_on_install as sysdba
SQL> shutdown ......