ORACLE Íâ¼üÔ¼ÊøÐÞ¸ÄÐÐΪ
OracleµÄÍâ¼üÓÃÀ´ÏÞÖÆ×Ó±íÖвο¼µÄ×ֶεÄÖµ£¬±ØÐëÔÚÖ÷±íÖдæÔÚ¡£¶øÇÒÔÚÖ÷±íµÄ¼Ç¼·¢Éú±ä»¯µ¼ÖÂÍâ¼ü²Î¿¼Î¨Ò»Ô¼ÊøÖµ·¢ÉúÁ˱仯ʱ£¬¶¨ÒåÁËһϵÁе͝×÷¡£
ÔÚSQL92±ê×¼Öж¨ÒåÁ˼¸ÖÖÍâ¼ü¸Ä±äºó£¬ÈçºÎ´¦Àí×Ó±í¼Ç¼µÄ¶¯×÷£¬ÆäÖаüÀ¨£º
ÏÞÖÆRestrict£ºÕâÖÖ·½Ê½²»ÔÊÐí¶Ô±»²Î¿¼µÄ¼Ç¼µÄ¼üÖµÖ´Ðиüлòɾ³ýµÄ²Ù×÷£»
ÖÃΪ¿ÕSet to null£ºµ±²Î¿¼µÄÊý¾Ý±»¸üлòÕßɾ³ý£¬ÄÇôËùÓвο¼ËüµÄÍâ¼üÖµ±»ÖÃΪ¿Õ£»
ÖÃΪĬÈÏÖµSet to default£ºµ±²Î¿¼µÄÊý¾Ý±»¸üлòÕßɾ³ý£¬ÄÇôËùÓвο¼ËüµÄÍâ¼üÖµ±»ÖÃΪһ¸öĬÈÏÖµ£»
¼¶ÁªCascade£ºµ±²Î¿¼µÄÊý¾Ý±»¸üУ¬Ôò²Î¿¼ËüµÄֵͬÑù±»¸üУ¬µ±²Î¿¼µÄÊý¾Ý±»É¾³ý£¬Ôò²Î¿¼ËüµÄ×Ó±í¼Ç¼Ҳ±»É¾³ý£»
²»×ö²Ù×÷No action£ºÕâÖÖ·½Ê½²»ÔÊÐí¸üлòɾ³ý±»²Î¿¼µÄÊý¾Ý¡£ºÍÏÞÖÆ·½Ê½µÄÇø±ðÔÚÓÚ£¬ÕâÖÖ·½Ê½µÄ¼ì²é·¢ÉúÔÚÓï¾äÖ´ÐÐÖ®ºó¡£OracleĬÈϵķ½Ê½¾ÍÊÇÕâÖÖ·½Ê½¡£
¡¡¡¡
OracleÃ÷È·Ö§³ÖµÄ·½Ê½°üÀ¨No action¡¢Set to nullºÍCascade.¶ÔÓÚSet to DefaultºÍRestrict£¬OracleµÄÔ¼ÊøÀàÐͲ¢²»Ö±½ÓÖ§³Ö£¬²»¹ý¿ÉÒÔͨ¹ý´¥·¢Æ÷À´ÊµÏÖ¡£
¼òµ¥¿´Ò»ÏÂOracleµÄĬÈÏ´¦Àí·½Ê½No action£º
¡¡¡¡SQL> CREATE TABLE T_P (ID NUMBER, NAME VARCHAR2(30));
¡¡¡¡±íÒÑ´´½¨¡£
¡¡¡¡SQL> ALTER TABLE T_P ADD PRIMARY KEY (ID);
¡¡¡¡±íÒѸü¸Ä¡£
¡¡¡¡SQL> CREATE TABLE T_C (ID NUMBER, FID NUMBER, NAME VARCHAR2(30));
¡¡¡¡±íÒÑ´´½¨¡£
¡¡¡¡SQL> ALTER TABLE T_C ADD CONSTRAINT FK_T_C
¡¡¡¡2 FOREIGN KEY (FID)
¡¡¡¡3 REFERENCES T_P (ID);
¡¡¡¡±íÒѸü¸Ä¡£
¡¡¡¡SQL> INSERT INTO T_P VALUES (1, ’A’);
¡¡¡¡ÒÑ´´½¨ 1 ÐС£
¡¡¡¡SQL> INSERT INTO T_P VALUES (2, ’B’);
¡¡¡¡ÒÑ´´½¨ 1 ÐС£
¡¡¡¡SQL> INSERT INTO T_C VALUES (1, 1, ’A’);
¡¡¡¡ÒÑ´´½¨ 1 ÐС£
¡¡¡¡SQL> COMMIT;
¡¡¡¡Ìá½»Íê³É¡£
¡¡¡¡¶ÔÓÚNo Action²Ù×÷¶øÑÔ£¬Èç¹ûÖ÷¼üµÄ¼Ç¼±»Íâ¼üËù²Î¿¼£¬ÄÇôÖ÷¼ü¼Ç¼ÊÇÎÞ·¨¸üлòɾ³ýµÄ¡£
¡¡¡¡SQL> DELETE T_P WHERE ID = 1;
¡¡¡¡DELETE T_P WHERE ID = 1
¡¡¡¡*µÚ 1 ÐгöÏÖ´íÎó:
¡¡¡¡ORA-02292: Î¥·´ÍêÕûÔ¼ÊøÌõ¼þ (YANGTK.FK_T_C) - ÒÑÕÒµ½×ӼǼÈÕÖ¾
¡¡¡¡SQL> UPDATE T_P SET ID = 3 WHERE ID = 1;
¡¡¡¡UPDATE T_P SET ID = 3 WHERE ID = 1
¡¡¡¡*µÚ 1 ÐгöÏÖ´íÎó:
¡¡¡¡ORA-02292: Î¥·´ÍêÕûÔ¼ÊøÌõ¼þ (YANGTK.FK_T_C) - ÒÑÕÒµ½×ӼǼÈÕÖ¾
¡¡¡¡SQL> DELETE T_P WHERE ID
Ïà¹ØÎĵµ£º
ÓÉÓÚÏµÍ³ÒÆÖ²£¬ÔÀ´µÄÊý¾Ý¿â±àÂëºÍÊ±Çø¶¼»»ÁË£¬ÔÀ´µÄһЩSQLÎÄÒ²³ö´íÁË¡£¡£
¾³£±À³ö"ORA-01846: not a valid day of the week
"´íÎó¡£
¾²âÊÔ£¬ÒÔÏÂÕâ¸ö¼òµ¥Óï¾äÒ²»á´í£¡£¡
SQL> select next_day(sysdate,'FRIDAY') from DUAL;
select next_day(sysdate,'FRIDAY') from DUAL
ORA-01 ......
½ñÌìÔÚÒ»¸öÌû×ÓÀï¿´µ½shiyiwanµÄ»ØÌûÖÐÌá¼°µ½ÁËÁ½¸ö×Ô¼ºÒÔǰû¼û¹ýµÄ¸ÅÄsave exceptionºÍdml error logging¡£ÉÏÍøËÑÁËËÑÏà¹ØÄÚÈÝ£¬¿´ÁË¿´´ó¸ÅÃ÷°×Òâ˼£¬²»¹ýÔÚʵ¼ÊÔËÓÃÖл¹ÊÇûÔõôÓùý¡£±£´æÏÂÀ´£¬ÒÔºóÓõĵ½µÄ»°·½±ã²éÔÄ¡£
ÕâһƪÊǹØÓÚsave exceptionµÄ£¬ÁíÍâһƪdml error loggingµÄ²Î¼ûÈçÏÂÁ´½Ó
http://blog.csdn ......
×÷Õߣº ÈÕÆÚ£º2005-12-8 1:43:32 À´Ô´£ºInternet µã»÷£º´Î ÆÀÂÛ
¡¡¡¡±¾ÎÄÖ»ÌÖÂÛOracleÖÐ×î³£¼ûµÄË÷Òý£¬¼´ÊÇB-treeË÷Òý¡£±¾ÎÄÖÐÉæ¼°µÄÊý¾Ý¿â°æ±¾ÊÇOracle8i¡£
¡¡¡¡Ò». ²é¿´ÏµÍ³±íÖеÄÓû§Ë÷Òý
¡¡¡¡ÔÚOracleÖУ¬SYSTEM±íÊǰ²×°Êý¾Ý¿âʱ×Ô¶¯½¨Á¢µÄ£¬Ëü°üº¬Êý¾Ý¿âµÄÈ«²¿Êý¾ ......
½ñÌìµÚÒ»´ÎÖªµÀORACLEÔÀ´»¹¿ÉÒÔÕâÑùINSERTµÄ……³¤¼ûʶÁË
Ò»¡¢ÎÞÌõ¼þ INSERT ALL
¶þ¡¢Ìõ¼þ INSERT ALL
Èý¡¢Ìõ¼þ INSERT FIRST
Insert…Select
ʹÓÃInsert SelectʵÏÖͬʱÏò¶à¸ö±í²åÈë¼Ç¼
Ò»¡¢ÎÞÌõ¼þ INSERT ALL
----------------------------------------------------------------------- ......
Ŀ¼
======================================================
1.ʹÓÃrownumΪ¼Ç¼ÅÅÃû
2.ʹÓ÷ÖÎöº¯ÊýÀ´Îª¼Ç¼ÅÅÃû
3.ʹÓ÷ÖÎöº¯ÊýΪ¼Ç¼½øÐзÖ×éÅÅÃû
Ò»¡¢Ê¹ÓÃrownumΪ¼Ç¼ÅÅÃû£º
¡¾1¡¿²âÊÔ»·¾³£º
SQL> desc user_order;
Name   ......