¹ØÓÚoracle´¥·¢Æ÷µÄÎÊÌâ - Oracle / ¸ß¼¶¼¼Êõ
ÏÖÔÚÓÐÈý¸ö±íA£¬B£¬C,±íÖÐ×Ö¶ÎÈçÏ£º
±íA£º[×Ö¶Î1][×Ö¶Î2][×Ö¶Î3][×Ö¶Î4]
±íB£º[×Ö¶Î1][×Ö¶Î2]
±íC£º[×Ö¶Î3][×Ö¶Î4]
ÒªÇóµ±±íAÖ´ÐÐinsert²Ù×÷ʱ£¬Ïò±íBºÍ±íCÖвåÈëÏàÓ¦×ֶΣ¬ÆäÖÐ×Ö¶Î1ºÍ×Ö¶Î2²åÈë±íB£¬×Ö¶Î3ºÍ×Ö¶Î4²åÈë±íC
ÇëÎÊ´¥·¢Æ÷¸ÃÔõôд°¡£¿
ÎÒ³¢ÊÔ×ÅÔÚÒ»¸ö´¥·¢Æ÷ÁËдÁËÁ½ÌõinsertÓï¾ä£¬µ«ÊÇûÓÐÖ´Ðгɹ¦¡£
SQL code:
CREATE OR REPLACE TRIGGER tr_A_insert
AFTER INSERT ON table_A
FOR EACH ROW
BEGIN
--ʹÓÃ:newÀ´ÒýÓÃвåÈëÖµ
INSERT INTO ±íB VALUES (:new.×Ö¶Î1, new.×Ö¶Î2);
INSERT INTO ±íC VALUES (:new.×Ö¶Î3, :new.×Ö¶Î4);
END;
´¥·¢Æ÷£º
create or replace trigger asdf
after insert on A
for each row
begin
insert into B values (:new.×Ö¶Î1,:new.×Ö¶Î2);
insert into C values(:new.×Ö¶Î3,:new.×Ö¶Î4);
end;
ÄÇÄãµÄ´¥·¢Æ÷Óï¾äÌù³öÀ´¿´¿´
±¨Ê²Ã´´í
SQL code:
create or replace trigger in_a before insert on A for each row
as
begin
insert into B values(:new.×Ö¶Î1,:new.×Ö¶Î2);
insert into C values(:new.×Ö¶Î3,:new.×Ö¶Î4);
commit;
end;
--2:Ò²¿ÉÒÔÓÃmerge intoÀ´
merge into B using A on(A.×Ö¶Î1=B.×Ö¶Î1 and A.×Ö¶Î2=B.×Ö¶Î2)
when not matched then insert(B.×Ö¶Î1,B.×Ö¶Î2) values(A.×Ö¶Î1,A.×Ö¶Î2)
merge into C using
Ïà¹ØÎÊ´ð£º
´ó¼ÒºÃ,ÎÒÏÖÔÚ°Ñoracle·þÎñÆ÷ÉÏÃæµÄÔʼÎļþ,ÏÂÔØµ½±¾»úÁË.ÎÒÏëÔÚ±¾»ú·ÃÎÊÊý¾Ý¿âÔõôÉèÖð¡.ÊDz»ÊÇÀàËÆ¿ÉÒÔ½¨Á¢Ò»¸öʲôÐéÄâ·þÎñÆ÷À´ÊµÏÖ.Çë´ó¼Ò³ö³öÖ÷Òâ
ÒýÓÃ
´ó¼ÒºÃ,ÎÒÏÖÔÚ°Ñoracle·þÎñÆ÷ÉÏÃæ ......
ÔÚϵͳÔËÐеÄʱºò×ÜÊÇÓÐÒ»¿é´ÅÅÌʼÖÕÉÁºìµÆ£¬½øÈëϵͳºó
#topas²é¿´×ÜÊÇÓÐÒ»¿é´ÅÅÌ%BUSYΪ90%ÒÔÉÏ£¬
Êý¾Ý¿â°æ±¾£ºoracle 9.2.0.7
Êý¾ÝÎļþ¹ÒÔØµÄ½Úµã£º/oradata/pcs/ Âß¼¾íºÅlv04
#lslv -l lv04
......
ÓÃPL/SQL µÇ½ʱµ¯³ö±¨´í´°¿Ú£¬´íÎóÈçÏ£¡
ORA-01034:ORACLE not available
ORA-27101:shared memory realm does not exist
ÇëÎÊ£¬ÓÐûÓÐÈËÓöµ½ÕâÖÖÇé¿ö£¬Ôõô½â¾ö£¿Ð»Ð»£¡
1. Oracle sid ÕýÈ ......
²éÁËÒ»ÌìµÄblob£¬»¹ÊÇûÀí½âµ½£¬ÎÒÏëÔÚVCÏ´æÈ¡¶þ½øÖƵÄÎļþ£¬Ê¹ÓõÄÊÇoo4o£¬ÕÕ×ŰïÖúÎĵµÉÏÃæµÄдÁËдÈëÊý¾Ý¿âµÄ´úÂ룬»¹ÊÇûд¶Ô£¬´íÎóÌáʾÊÇthis operation is not permitted on a empty LOB£¬ÕâÊÇʲôÒâ˼°¡£¿ÕÕ ......
ÎҵĴ¦ÀíÊÇÕâÑùµÄ£º
ÎÒÓÐÒ»¸öºÜ´óµÄÊý¾Ý¼¯ºÏ£¬´¦ÓÚÐÔÄÜ·½ÃæµÄ¿¼ÂÇÐèҪʹÓÃÁÙʱ±í¹ý¶É£¬²¢ÇÒʹÓ÷ÖÒ³µÄ·½Ê½ÏòÁÙʱ±íÖвåÈëÊý¾Ý£¬Êý¾ÝʹÓÃÍê±Ïºó£¬É¾³ýÁÙʱ±íµÄÊý¾Ý¡£
³öÏÖµÄÏÖÏ󣺵±OracleÖØÐÂÆô¶¯ºó£¬µÚÒ»Ò³²åÈëµÄ ......