oracle´¥·¢Æ÷²åÈëÎÊÌâ - Oracle / ¸ß¼¶¼¼Êõ
ÎÒÓÐÁ½¸ö±í£¨A±íºÍB±í£©£¬»ú¹¹ÍêÈ«Ïàͬ£ºA ±í½¨Á¢´¥·¢Æ÷ µ±insert into A(id,name) values('1','zhangsan'); ÎÒÖ»Ï뽫name=zhangsanµÄʱºò½«insertÓï¾ä²åÈëµ½B±íÖжøA±í²»Ö´ÐвÙ×÷Õâ¸ö´¥·¢Æ÷Ó¦¸ÃÔõôʵÏÖÄØ£¿ È磺 if :nve.name=¡®zhangsan' then insert into B(id,name) values(:nve.id,:nve.name); end if; ¿ÉÊÇÏñÎÒÕâôдÕâÁ½¸ö±í¶¼ÓÐÊý¾Ýѽ£¬ÎÒÖ»ÏëÈÃB±íÖÐÓÐÊý¾Ý¶øA±íûÓУ¬Õâ¸ö´¥·¢Æ÷Ó¦¸ÃÔõÃ´Ð´ÄØ£¬Ð»Ð»¸øÎ»ÁË
ɾ³ýµôA±íÊý¾ÝÒýÓà ɾ³ýµôA±íÊý¾Ý ²»ºÃÒâ˼ÎÒÊǸöÐÂÊÖ£¬ÄÇÎÊÒ»ÏÂÔõôɾ³ýÄØ£¬ÊÇ·ñ»¹ÓбðµÄ·½·¨£¬ Äã¿ÉÒÔÔÚABµÄ»ù´¡ÉϽ¨¸öÊÓͼ£¬ÔÚÊÓͼÉϼÓinstead of´¥·¢Æ÷£¬µ±insertÊÓͼµÄʱºò£¬Ñ¡ÔñÊDzåA±í»¹ÊÇB±í¡£ÒýÓà SQL codecreatetable a (idnumber, namevarchar2(30));createtable b (idnumber, namevarchar2(30));createview vaasselect id, namefrom a;createorreplacetrigger trig_va insteadofinserton vafor each rowbeginif :new.name='zhangsan'theninsertinto bvalues (:new.id, :new.name);elseinsertinto avalues (:new.id, :new.name);endif;end;insertinto vavalues (1,'zhangsan');insertinto vavalues (2,'lisi');select*from a; ID NAME---------- ---------------------------------------------2 lisiselect*from b; ID NAME---------- ---------------------------------------------1 zhangsan 這ÊÇora-04091 table is mutating trigger function may not see itµÄ問題£¬±È較難處Àí¡£ 現ÔÚ還ÔÚÑÐ
Ïà¹ØÎÊ´ð£º
´ó¼ÒºÃ,ÎÒÏÖÔÚ°Ñoracle·þÎñÆ÷ÉÏÃæµÄÔʼÎļþ,ÏÂÔØµ½±¾»úÁË.ÎÒÏëÔÚ±¾»ú·ÃÎÊÊý¾Ý¿âÔõôÉèÖð¡.ÊDz»ÊÇÀàËÆ¿ÉÒÔ½¨Á¢Ò»¸öʲôÐéÄâ·þÎñÆ÷À´ÊµÏÖ.Çë´ó¼Ò³ö³öÖ÷Òâ ÒýÓà ´ó¼ÒºÃ,ÎÒÏÖÔÚ°Ñoracle·þÎñÆ÷ÉÏÃæ ......
ÓÃPL/SQL µÇ½ʱµ¯³ö±¨´í´°¿Ú£¬´íÎóÈçÏ£¡ ORA-01034:ORACLE not available ORA-27101:shared memory realm does not exist ÇëÎÊ£¬ÓÐûÓÐÈËÓöµ½ÕâÖÖÇé¿ö£¬Ôõô½â¾ö£¿Ð»Ð»£¡ 1. Oracle sid ÕýÈ ......
СµÜ£¬×î½üҪתÐÐÈ¥×öoracle¿ª·¢ÁË£¬ÓÉÓÚ´óѧ±Ïҵʱ£¬×ßÁ˸öÍä·£¬ÏÖÔÚºÜСÐÄ£¬ÎÊÏ£¬×öPL/SQLÓÐûÓÐǰ;£¿£¿£¿ µ±È»ÎÒ˵µÄÕâ¸öǰ;ÊÇÖ¸ ÒÔºóÒªÌø²Û£¬Êг¡¶ÔÕâÑùµÄÈ˲ŵÄÐèÇóÁ¿´ó²»´ó£¿£¿ 3q ÄÇ¿´À´»¹Ö»ÄÜÏȽӴ ......
select count(1) from FX_RETURNBOOKCHECKLIST fxreturnbo0_ where fxreturnbo0_.BOOKID='164 ' AND fxreturnbo0_.RETURNID='00025.S0000001' ÉÏÃæÒ»¸ö¼òµ¥µÄSQL,Ö´ÐÐʱ¼ä2.6à ......