(ת)oracleµÄdecodeº¯Êý
DECODEº¯ÊýÊÇORACLE PL/SQLÊǹ¦ÄÜÇ¿´óµÄº¯ÊýÖ®Ò»£¬Ä¿Ç°»¹Ö»ÓÐORACLE¹«Ë¾µÄSQLÌṩÁ˴˺¯Êý£¬ÆäËûÊý¾Ý¿â³§É̵ÄSQLʵÏÖ»¹Ã»Óд˹¦ÄÜ¡£DECODEÓÐʲôÓÃ; ÄØ£¿ Ïȹ¹ÔìÒ»¸öÀý×Ó£¬¼ÙÉèÎÒÃÇÏë¸øÖÇÐÇÖ°Ô±¼Ó¹¤×Ê£¬Æä±ê×¼ÊÇ£º¹¤×ÊÔÚ8000ÔªÒÔϵĽ«¼Ó20£¥£»¹¤×ÊÔÚ8000ÔªÒÔÉϵļÓ15£¥£¬Í¨³£µÄ×ö·¨ÊÇ£¬ÏÈÑ¡³ö¼Ç¼ ÖеŤ×Ê×Ö¶ÎÖµ? select salary into var-salary from employee£¬È»ºó¶Ô±äÁ¿var-salaryÓÃif-then-else»òchoose caseÖ®ÀàµÄÁ÷¿ØÖÆÓï¾ä½øÐÐÅжϡ£ Èç¹ûÓÃDECODEº¯Êý£¬ÄÇôÎÒÃǾͿÉÒÔ°ÑÕâЩÁ÷¿ØÖÆÓï¾äÊ¡ÂÔ£¬Í¨¹ýSQLÓï¾ä¾Í¿ÉÒÔÖ±½ÓÍê³É¡£ÈçÏ£ºselect decode(sign(salary - 8000),1,salary*1.15,-1,salary*1.2,salary from employee ÊDz»ÊǺܼò½à£¿ DECODEµÄÓï·¨£ºDECODE(value,if1,then1,if2,then2,if3,then3,...,else)£¬±íʾÈç¹ûvalue µÈÓÚif1ʱ£¬DECODEº¯ÊýµÄ½á¹û·µ»Øthen1,...,Èç¹û²»µÈÓÚÈκÎÒ»¸öifÖµ£¬Ôò·µ»Øelse¡£³õ¿´Ò»Ï£¬DECODE Ö»ÄÜ×öµÈÓÚ²âÊÔ£¬µ«¸Õ²ÅÒ²¿´µ½ÁË£¬ÎÒÃÇͨ¹ýһЩº¯Êý»ò¼ÆËãÌæ´úvalue£¬ÊÇ¿ÉÒÔʹDECODEº¯Êý¾ß±¸´óÓÚ¡¢Ð¡ÓÚ»òµÈÓÚ¹¦ÄÜ¡£
¡¡¡¡decode()º¯ÊýʹÓü¼ÇÉ
¡¡¡¡·Èí¼þ»·¾³:
¡¡¡¡1¡¢Windows NT4.0+ORACLE 8.0.4
¡¡¡¡2¡¢ORACLE°²×°Â·¾¶Îª:C:\ORANT
¡¡¡¡·º¬Òå½âÊÍ:
¡¡¡¡decode(Ìõ¼þ,Öµ1,·ÒëÖµ1,Öµ2,·ÒëÖµ2,...Öµn,·ÒëÖµn,ȱʡֵ)
¡¡¡¡¸Ãº¯ÊýµÄº¬ÒåÈçÏÂ:
¡¡¡¡IF Ìõ¼þ=Öµ1 THEN
¡¡¡¡RETURN(·ÒëÖµ1)
¡¡¡¡ELSIF Ìõ¼þ=Öµ2 THEN
¡¡¡¡RETURN(·ÒëÖµ2)
¡¡¡¡......
¡¡¡¡ELSIF Ìõ¼þ=Öµn THEN
¡¡¡¡RETURN(·ÒëÖµn)
¡¡¡¡ELSE
¡¡¡¡RETURN(ȱʡֵ)
¡¡¡¡END IF
¡¡¡¡· ʹÓ÷½·¨:
¡¡¡¡1¡¢±È½Ï´óС
¡¡¡¡select decode(sign(±äÁ¿1-±äÁ¿2),-1,±äÁ¿1,±äÁ¿2) from dual; --È¡½ÏСֵ
¡¡¡¡sign()º¯Êý¸ù¾Ýij¸öÖµÊÇ0¡¢ÕýÊý»¹ÊǸºÊý£¬·Ö±ð·µ»Ø0¡¢1¡¢-1
¡¡¡¡ÀýÈç:
¡¡¡¡±äÁ¿1=10£¬±äÁ¿2=20
¡¡¡¡Ôòsign(±äÁ¿1-±äÁ¿2)·µ»Ø-1£¬decode½âÂë½á¹ûΪ“±äÁ¿1”£¬´ïµ½ÁËÈ¡½ÏСֵµÄÄ¿µÄ¡£
¡¡¡¡2¡¢±í¡¢ÊÓͼ½á¹¹×ª»¯
¡¡¡¡ÏÖÓÐÒ»¸öÉÌÆ·ÏúÊÛ±ísale£¬±í½á¹¹Îª:
¡¡¡¡month¡¡¡¡¡¡ char(6)¡¡¡¡¡¡¡¡¡¡ --Ô·Ý
¡¡¡¡sell¡¡¡¡¡¡¡¡number(10,2)¡¡¡¡¡¡--ÔÂÏúÊÛ½ð¶î
¡¡¡¡ÏÖÓÐÊý¾ÝΪ:
¡¡¡¡200001¡¡¡¡1000
¡¡¡¡200002¡¡¡¡1100
¡¡¡¡200003¡¡¡¡1200
¡¡¡¡200004¡¡¡¡1300
¡¡¡¡200005¡¡¡¡1400
¡¡¡¡200006¡¡¡¡1500
¡¡¡¡200007¡¡¡¡1600
¡¡¡¡200101¡¡¡¡1100
¡¡¡¡200202¡¡¡¡1200
¡¡¡¡200301¡¡¡¡1300
¡¡¡¡ÏëҪת»¯ÎªÒÔϽṹµ
Ïà¹ØÎĵµ£º
1. ÔÚ´ò¿ªEnterprise Manager Consolʱ±¨´í: "ÕÒ²»µ½Ä¿±êÖ÷»ú";
¡¾½â¾ö·½°¸¡¿¸ÃÎÊÌâÔÚʹÓÃGhostÖÆ×÷µÄϵͳÖг£¼û, ³ö´íÔÒòÊÇOracleÖÐÅäÖõÄÖ÷»úÃû
ºÍʵ¼ÊµÄÖ÷»úÃû²»Ò»ÖÂ. ½â¾ö·½·¨ÈçÏÂ:
(1) Enterprise Manager Consol -> ¹¤¾ß²Ëµ¥ ->·þÎñ¹ÜÀí -> Oracle Net Manager;
(2) ½«"±¾µØ ......
¡¾ÊµÏÖ²½Öè¡¿
1. ´´½¨±íblog_info, ¾ßÓÐIDºÍtitleÁ½¸ö×Ö¶Î, ÆäÖÐID½«ÉèÖÃΪ×Ô¶¯Ôö³¤ÁÐ;
2. ´´½¨ÐòÁÐ:
create sequence sq_blog_info
start with 1
increment by 1
nomaxvalue
nocycle
......
Õâ´ÎµÄ¾ÀúÊÇ×Ô¼ºÕÒÀ´µÄ£¬ÔÚ°²×°ÁË10gµÄÄÇ̨»úÉÏÉý¼¶ÏÂÄÚ´æÒ²±ãÄܺöÓÆÄÇȺÓÑ£¬²»¹ýÏëÏ뻹ÊÇÕÛÌÚϰɣ¬¸øÒƵ½ÅäÖúõãµÄServerÉÏÃæ£¬ËûÃÇÓÃÆðÀ´Ë³ÐÄ£¬ÎÒ×Ô¼ºÒ²ÄÜÕÛÌÚµã¾Ñé¡£
132µÄϵͳÊÇSuSE10.2µÄ£¬Ö®Ç°ÒѾ°²×°ÁËOracle 9i£¬Õâ¾ÍÒâζ×űØÐëÏÈÐ¶ÔØµô9i£¬±¾ÒÔΪ°²×°10gµÄrunInstallerÄܹ»Ð¶Ôصô9i£¬¿É³¢ÊÔÁ˺þö¼ÊdzöÏÖex ......
oracleÄÚÖóÌÐò°ü
STANDARDºÍDBMS_STANDARD ¶¨ÒåºÍÀ©Õ¹PL/SQLÓïÑÔ»·¾³
DBMS_ALERT Ö§³ÖÊý¾Ý¿âʼþµÄÒ첽֪ͨ
DBMS_APPLICATION_INFO ÔÊÐíΪ¸ú×ÙÄ¿µÄ¶ø×¢²áÓ¦ÓóÌÐò
DBMS_AQ&DBMS_AQADM ¹ÜÀíoracle advanced queuingÑ¡¼þ
DBMS_DEFER¡¢DBMS_DEFER_SYSºÍDBMS_DEFER_QUERY ÔÊÐí¹¹½¨ºÍ¹ÜÀíÑÓ³ÙµÄÔ¶³Ì¹ý³Ìµ÷ÓÃ
DBMS_DDL ......
OracleÊý¾Ýµ¼Èëµ¼³öimp/exp¾ÍÏ൱ÓÚoracleÊý¾Ý»¹ÔÓ뱸·Ý¡£expÃüÁî¿ÉÒÔ°ÑÊý¾Ý´ÓÔ¶³ÌÊý¾Ý¿â·þÎñÆ÷µ¼³öµ½±¾µØµÄdmpÎļþ£¬impÃüÁî¿ÉÒÔ°ÑdmpÎļþ´Ó±¾µØµ¼Èëµ½Ô¶´¦µÄÊý¾Ý¿â·þÎñÆ÷ÖС£ ÀûÓÃÕâ¸ö¹¦ÄÜ¿ÉÒÔ¹¹½¨Á½¸öÏàͬµÄÊý¾Ý¿â£¬Ò»¸öÓÃÀ´²âÊÔ£¬Ò»¸öÓÃÀ´ÕýʽʹÓá£
Ö´Ðл·¾³£º¿ÉÒÔÔÚSQLPLUS.EXE»òÕßDOS£¨ÃüÁîÐУ©ÖÐÖ´Ð ......