oracle constraints(1)
oracle µÄÔ¼ÊøÖ÷ÒªÊÇÔÚÒµÎñÂß¼²ãÃæά»¤Êý¾ÝµÄÍêÕûÐÔ¡£Ö÷Ҫͨ¹ý³ÌÐòÔ±ÔÚÓ¦ÓóÌÐòÖй涨ԼÊø»òÕßͨ¹ý¶¨Òå´¥·¢Æ÷À´Î¬»¤Êý¾ÝÍêÕûÐÔ£¬×îºóÊÇͨ¹ýʹÓÃoracle×Ô´øµÄÔ¼ÊøÀ´Î¬»¤Êý¾ÝÍêÕûÐÔ¡£ÄÜʹÓÃoracle×Ô´øµÄÔ¼Êø´ïµ½ÒªÇó¾Í¾¡Á¿Ê¹ÓÃoracle×Ô´øµÄÔ¼Êø£¬ÒòΪʹÓô¥·¢Æ÷µÈÓû§×Ô¶¨ÒåÔ¼Êø¶¼»áÓ°ÏìÊý¾Ý¿âµÄÐÔÄÜ¡£ÀýÈ磺ʹÓô¥·¢Æ÷ʱ»á¶Ô±í½øÐÐËø¶¨²¢½øÐбíɨÃè»òÕßË÷ÒýɨÃ裬ÕâЩ¶¼»á½µµÍÊý¾Ý¿âÐÔÄܺͲ¢·¢ÐÔ¡£
oracle Ô¼ÊøÖ÷Òª·ÖΪÒÔϼ¸ÖÖ£º
not null ·Ç¿ÕÔ¼Êø, unique ΨһԼÊø, primary key Ö÷¼üÔ¼Êø, foreign key Íâ¼üÔ¼Êø, check Ô¼Êø¡£
not null ·Ç¿ÕÔ¼Êø£º
´´½¨·½Ê½£º1, ½¨±íʱÔÚÁ춱ð¶¨Òå(Ò²¾ÍÊÇÖ»ÄÜÔÚ¶¨Òå±íʱ½«Ô¼ÊøµÄ¶¨ÒåдÔÚ¸ÃÁкóÃæ),2ÖÖ·½Ê½¡£Ò»ÖÖʹÓÃ×Ô¶¨ÒåÔ¼ÊøÃû³Æ£¬Ò»ÖÖÊÇʹÓÃϵͳĬÈÏÃû³Æ¡£
create table t
(
tid number(8) constraint NK_t1 not null,
tname varchar2(10) not null
)
SQL> select t.constraint_name, t.table_name, t.status, t.deferrable from user_constraints t;
CONSTRAINT_NAME TABLE_NAME STATUS DEFERRABLE
--------------- ------------------------------ -------- --------------
NK_T1 T ENABLED NOT DEFERRABLE
SYS_C003735 T ENABLED NOT DEFERRABLE
SQL>
2£¬ÔÚ±í½¨Á¢ºó¶Ô±í½øÐÐÐ޸ģ¬µ«ÊÇҪȷ±£±íÖÐÊý¾ÝûÓÐÎ¥·´Ô¼Êø¡£
SQL> alter table t modify tid not null;
Table altered
SQL> select t.constraint_name, t.table_name, t.status, t.deferrable from user_constraints t;
CONSTRAINT_NAME TABLE_NAME STATUS DEFERRABLE
--------------- ------------------------------ -------- --------------
SYS_C003736 T ENABLED NOT DEFERRABLE
SQL>
check Ô¼Êø
´´½¨·½Ê½£º¿ÉÒÔÔÚ±í¼¶±ðºÍÁ춱ð½øÐж¨Òå(¼È¿ÉÒÔÔÚÁкóÃ涨ÒåÒ²¿ÉÒÔÔÚÁж¨ÒåÍêºóÔÙ¶¨Òå)¡£Ò²ÊÇ2ÖÖ¶¨Ò巽ʽ¡£
SQL> create table t
2 (
3 tid number(8) ,
4 tname varchar2(10),
5 constraint CK_T1 check ((tid is not null) and (tid > 0))
Ïà¹ØÎĵµ£º
Ëæ׿ÆËã»úµÄÆÕ¼°ÒÔ¼°ÍøÂçµÄ·¢Õ¹£¬Êý¾Ý¿âÒѾ²»ÔÙ½ö½öÊÇÄÇЩ³ÌÐòÔ±ËùרÓеĻ°Ìâ¡£¶øOracleÊý¾Ý¿â¸üÊÇƾ½èÆäÐÔÄÜ׿Խ£¬²Ù×÷·½±ãÁé»îµÄÌص㣬ÔÚÊý¾Ý¿âµÄÊг¡ÖÐÒѾռ¾ÝÁËһϯ֮µØ¡£µ«ÊÇͬÑùËæ×ÅÍøÂç¼¼ÊõµÄ²»¶Ï½ø²½£¬Êý¾ÝÐÅÏ¢µÄ²»¶ÏÔö¼Ó£¬Êý¾Ý°²È«ÒѾ²»ÔÙÊÇÒÔÇ°µÄ“ÀÏÉú³¤Ì¸”£¬Ò²¸ü²»ÊÇÒÔÇ°Êé±¾ÉÏÄÇЩ“¿ÉÍû² ......
¸ÅÊö
ÔÚoracle°²×°Ä¿Â¼$HOME/network/adminÏÂ,£¬¾³£¿´µ½sqlnet.ora tnsnames.ora listener.oraÕâÈý¸öÎļþ£¬³ýÁËtnsnames.ora£¬ÆäËûÁ½¸öÎļþÏêϸµÄÓÃ;ºÜ¶àÈ˶¼²»Ì«Á˽⡣
sqlnet.ora ÓÃÔÚoracle client¶Ë£¬ÓÃÓÚÅäÖÃÁ¬½Ó·þÎñ¶ËoracleµÄÏà¹Ø²ÎÊý.
tnsnames.ora ÓÃÔÚoracle client¶Ë£¬Óû§ÅäÖÃÁ¬½ÓÊý¾Ý¿âµÄ±ðÃû²ÎÊý,¾ÍÏñϵ ......
¶ÔÓÚrownumÀ´ËµËüÊÇoracleϵͳ˳Ðò·ÖÅäΪ´Ó²éѯ·µ»ØµÄÐеıàºÅ£¬·µ»ØµÄµÚÒ»ÐзÖÅäµÄÊÇ1£¬µÚ¶þÐÐÊÇ2£¬ÒÀ´ËÀàÍÆ£¬Õâ¸öα×ֶοÉÒÔÓÃÓÚÏÞÖƲéѯ·µ»ØµÄ×ÜÐÐÊý£¬¶øÇÒrownum²»ÄÜÒÔÈκαíµÄÃû³Æ×÷Ϊǰ׺¡£
¾ÙÀý˵Ã÷£º
ÀýÈç±í£ºstudent(ѧÉú)±í£¬±í½á¹¹Îª£º
ID¡¡¡¡¡¡ char(6)¡¡¡¡¡¡¡¡¡¡ --ѧºÅ
name¡¡¡¡ ......
ÏÖÏó£º
oracleÆô¶¯¼àÌý£¬±¨¸æÈçÏ´íÎó£º
TNS-12547: TNS:lost contact
TNS-12560: TNS:protocol adapter error
TNS-00517: Lost contact
Linux Error: 32: Broken pipe
ÔÒò£º
lisenter.log ÎļþÌ«´óÁË,OracleÎÞ·¨¶ÔËü½øÐвÙ×÷ÁË£¬µ¼ÖÂlistenerÎÞ·¨Õý³£Æô¶¯¡£
listener.log ³¬¹ý2G¾Í»á³öÎÊÌâ
·½·¨£º
·¨1. ÒƳýÔ$ ......