[ת]ÔÚoracleÏ´¥·¢Æ÷ʵÏÖÖ÷¼ü×ÔÔö
ÀûÓÃÐòÁвúÉúÖ÷¼üÖµ¡£
ÐòÁУ¨Sequence£©ÊÇÒ»ÖÖ¿ÉÒÔ±»¶à¸öÓû§Ê¹ÓõÄÓÃÓÚ²úÉúһϵÁÐΨһÊý×ÖµÄÊý¾Ý¿â¶ÔÏó¡£ÐòÁж¨Òå´æ´¢ÔÚÊý¾Ý×ÖµäÖУ¬Í¨¹ýÌṩΨһÊýÖµµÄ˳Ðò±íÀ´¼ò»¯³ÌÐòÉè¼Æ¹¤×÷£¬¿ÉÒÔʹÓÃÐòÁÐ×Ô¶¯²úÉúÖ÷¼üµÄ¼üÖµ¡£µ±Ò»¸öÐòÁеÚÒ»´Î±»²éѯµ÷ÓÃʱ£¬Ëü½«·µ»ØÒ»¸öÔ¤¶¨Öµ¡£ÔÚËæºóµÄÿ´Î²éѯÖУ¬ÐòÁн«²úÉúÒ»¸ö°´Ö¸¶¨µÄÔöÁ¿Ôö³¤µÄÖµ¡£ÐòÁпÉÒÔÑ»·£¬»òÕßÊÇÁ¬ÐøÔö¼ÓµÄ£¬Ö±µ½Ö¸¶¨µÄ×î´óֵΪֹ¡£
´´½¨ÐòÁÐÓï·¨ÈçÏ£ºcreate sequence [ģʽ]ÐòÁÐÃû³Æ[start with ÆðʼÊý×Ö] [increment by ÔöÁ¿][maxvalue ×î´óÖµ|nomaxvalue][minvalue ×îСֵ|nominva lue][cycle|nocuyle][cache ÊýÄ¿|nocache][order|noorder]¡£
ͨ¹ýÐòÁÐÆðʼÊý×Ö¡¢×î´óÖµ¡¢×îСֵºÍÔöÁ¿Öµ¿ÉÒÔÈ·¶¨ÐòÁÐÊÇÔöÐò»¹ÊǼõÐò£¬Ã¿´ÎÔö»ò¼õµÄ¶àÉÙ¡£NocyleÑ¡ÏîÓÃÓÚÈ·¶¨ÔÚÐòÁдﵽ×î´óÖµ£¨ÔöÐòÁУ©»ò×îСֵ£¨¼õÐòÁУ©Ö®ºó²»ÄÜÔÙ²úÉú¸ü¶àµÄÖµ£¬ÓÃÒÔ·ÀÖ¹ÐòÁлØ×ª¡£
ÔÚOracleÊý¾Ý¿âÖд´½¨ÐòÁУ¬ÔÚʹÓÃsqlÓï¾äÏòÊý¾Ý¿âÖÐдÈëÊý¾ÝµÄʱºò£¬ÀûÓÃÐòÁвúÉúµÄΨһֵ£¬ÊµÏÖ±íÖÐÖ÷¼üÖµ×ÔÔö¡£ÀýÈ磺
SQL>create table tablename
(id number notnull,…);
SQL >create sequence autoID increment by 1 start with 1 maxvalue 999999 cycle;
SQL >insert into tablename values(autoID.nextval,...);
¶à¸öÓû§¿ÉÒÔ¹²ÓÃÒ»¸öÐòÁÐ,µ«ËüÊÇÕë¶ÔËùÓеıí,Òò´Ë²úÉúµÄÐòºÅ¶ÔÒ»¸ö±í¶øÑÔ²úÉúµÄÖ÷¼üֵΨһµ«ÊDz»Á¬Ðø¡£
ʹÓô¥·¢Æ÷²úÉúÖ÷¼üÖµ¡£
ÔÚÊý¾Ý±íÖУ¬ÓÐʱºòÐèÒªÖ÷¼üÖµ×Ô¶¯Ôö¼Ó£¬µ«ÔÚOracleÊý¾Ý¿âÖУ¬Ã»ÓÐÏóMysqlµÄAutoincrementÒ»Ñù×Ô¶¯Ôö³¤µÄÊý¾ÝÀàÐÍ¡£ÔÚʵÏÖOracleÊý¾Ý¿â×Ö¶Î×ÔÔö¹¦ÄÜʱ£¬ÀûÓÃDML´¥·¢Æ÷À´Íê³É¡£
´¥·¢Æ÷£¨trigger£©ÊÇһЩ¹ý³Ì£¬µ±·¢ÉúÒ»¸öÌØ¶¨µÄÊý¾Ý¿âʼþʱ¾ÍÖ´ÐÐÕâЩ¹ý³Ì£¬¿ÉÒÔʹÓô¥·¢Æ÷À©³äÒýÓõÄÍêÕûÐÔ¡£DML¼´Êý¾Ý²Ù×ÝÓïÑÔ,ÓÃÓÚÈÃÓû§»ò³ÌÐòԱʹÓã¬ÊµÏÖ¶ÔÊý¾Ý¿âÖÐÊý¾ÝµÄ²Ù×÷¡£»ù±¾µÄÊý¾Ý²Ù×÷·Ö³ÉÁ½ÀàËÄÖÖ£º¼ìË÷£¨²éѯ£©ºÍ¸üУ¨²åÈ롢ɾ³ý¡¢Ð޸ģ©¡£´¥·¢Æ÷ÀàËÆÓÚº¯ÊýºÍ¹ý³Ì£¬ÆäÔÚÊý¾Ý¿âÖÐÒÔ¶ÀÁ¢Éí·Ö´æÔÚ¡£´¥·¢Ê¼þ¿ÉÒÔÊǶÔÊý¾Ý¿â±íµÄDML£¨insert¡¢update»òdelete£©²Ù×÷µÈ
Ïà¹ØÎĵµ£º
ÏÖÏó£º
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. ÒÆ³ýÔ$ ......
oracle µÄÔ¼ÊøÖ÷ÒªÊÇÔÚÒµÎñÂß¼²ãÃæÎ¬»¤Êý¾ÝµÄÍêÕûÐÔ¡£Ö÷Ҫͨ¹ý³ÌÐòÔ±ÔÚÓ¦ÓóÌÐòÖÐ¹æ¶¨Ô¼Êø»òÕßͨ¹ý¶¨Òå´¥·¢Æ÷À´Î¬»¤Êý¾ÝÍêÕûÐÔ£¬×îºóÊÇͨ¹ýʹÓÃoracle×Ô´øµÄÔ¼ÊøÀ´Î¬»¤Êý¾ÝÍêÕûÐÔ¡£ÄÜʹÓÃoracle×Ô´øµÄÔ¼Êø´ïµ½ÒªÇó¾Í¾¡Á¿Ê¹ÓÃoracle×Ô´øµÄÔ¼Êø£¬ÒòΪʹÓô¥·¢Æ÷µÈÓû§×Ô¶¨ÒåÔ¼Êø¶¼»áÓ°ÏìÊý¾Ý¿âµÄÐÔÄÜ¡£ÀýÈ磺ʹÓô¥·¢ ......
sqlÓï¾ä£º
select bid from t_branch c start with c.upbid ='11000000' connect by prior c.bid=c.upbid
˵Ã÷£º
1¡¢Í³¼ÆÄ³¸ö»ú¹¹ÏÂËùÓеÄ×ÓËï»ú¹¹¡£Èçͳ¼Æ±±¾©»ú¹¹ÏµÄ×ÓËï»ú¹¹£¬°üÀ¨£º³¯ÑôÇø»ú¹¹¡¢º£µíÓªÏú»ú¹¹¡¢¡¢¡¢ÇàÁúÇÅÏç»ú¹¹¡¢¡¢¡¢¡¢Ò»Ö±µ½×îµ×²ãµÄ»ú¹¹¡£
2¡¢upbidÊÇÖ¸Éϼ¶»ú¹¹µÄID¡£º£µíÇø»ú¹¹ID(b ......
¹éµµÈÕÖ¾Îļþ£ºÊÇ´¦Óڷǻ£¨INACTIVE£©µÄ״̬µÄÖØ×öÈÕÖ¾ÎļþµÄ±¸·Ý¡£Ëü¶ÔORACLEÊý¾Ý¿âµÄ±¸·ÝºÍ»Ö¸´ÆðÖÁ¹ØÖØÒªµÄ×÷Óá£ÊÇÁª»úÖØ×öÈÕÖ¾ÎļþµÄÒ»¸ö¸±±¾£¬Óë±»¸´ÖƵijÉÔ±Íê³ÉÒ»Ñù£¬¼´ÖØ×ö¼Ç¼Ïàͬ£¬ÈÕÖ¾ÐòÁкÅÏàͬ¡£
Ò»¡¢Êý¾Ý¿âµÄ¹éµµÓë·Ç¹éµµÄ£Ê½£º
1£® µ±Êý¾Ý¿â´¦ÓÚNOACRCHIVELOGģʽʱ£¬²»¶ÔÖØ×öÈÕÖ¾Îļþ½ ......