OracleÊý¾Ý¿âÓαê
OracleÊý¾Ý¿âÓαêʹÓ÷½·¨
2009-12-30 15:27
SQLÊÇÓÃÓÚ·ÃÎÊOracleÊý¾Ý¿âµÄÓïÑÔ£¬PL/SQLÀ©Õ¹ºÍ¼ÓÇ¿ÁËSQLµÄ¹¦ÄÜ£¬ËüͬʱÒýÈëÁ˸üÇ¿µÄ³ÌÐòÂß¼, ÏÂÃæÔÚ±¾ÎÄÖн«¶ÔÓαêµÄʹÓýøÐÐһϽ²½â,Ï£Íû¿ÉÒԺʹó¼Ò¹²Í¬Ñ§Ï°½ø²½¡£
¡¡¡¡Óαê×ÖÃæÀí½â¾ÍÊÇÓζ¯µÄ¹â±ê¡£ÓαêÊÇSQLµÄÒ»¸öÄڴ湤×÷Çø£¬ÓÉϵͳ»òÓû§ÒÔ±äÁ¿µÄÐÎʽ¶¨Òå¡£ÔÚijЩÇé¿öÏ£¬ÐèÒª°ÑÊý¾Ý´Ó´æ·ÅÔÚ´ÅÅ̵ıíÖе÷µ½¼ÆËã»úÄÚ´æÖнøÐд¦Àí£¬×îºó½«´¦Àí½á¹ûÏÔʾ³öÀ´»ò×îÖÕд»ØÊý¾Ý¿â¡£ÕâÑùÊý¾Ý´¦ÀíµÄËٶȲŻáÌá¸ß£¬·ñÔòƵ·±µÄ´ÅÅÌÊý¾Ý½»»»»á½µµÍЧÂÊ¡£ÓÃÊý¾Ý¿âÓïÑÔÀ´ÃèÊöÓαê¾ÍÊÇÓ³ÉäÔÚ½á¹û¼¯ÖÐÒ»ÐÐÊý¾ÝÉϵÄλÖÃʵÌ壬ÓÐÁËÓα꣬Óû§¾Í¿ÉÒÔ·ÃÎʽá¹û¼¯ÖеÄÈÎÒâÒ»ÐÐÊý¾ÝÁË£¬½«Óαê·ÅÖõ½Ä³Ðк󣬼´¿É¶Ô¸ÃÐÐÊý¾Ý½øÐвÙ×÷£¬ÀýÈçÌáÈ¡µ±Ç°ÐеÄÊý¾ÝµÈ¡£
¡¡¡¡ÓαêÓÐÁ½ÖÖÀàÐÍ£ºÏÔʽÓαêºÍÒþʽÓαꡣÓαêÒ»µ©´ò¿ª£¬Êý¾Ý¾Í´ÓÊý¾Ý¿âÖд«Ë͵½Óαê±äÁ¿ÖУ¬È»ºóÓ¦ÓóÌÐòÔÙ´ÓÓαê±äÁ¿Öзֽâ³öÐèÒªµÄÊý¾Ý£¬²¢½øÐд¦Àí¡£
¡¡¡¡µ±ÏµÍ³Ê¹ÓÃÒ»¸öÒþʽÓαêʱ£¬¿ÉÒÔͨ¹ýÒþʽÓαêµÄÊôÐÔÀ´Á˽â²Ù×÷µÄ״̬ºÍ½á¹û£¬½ø¶ø¿ØÖƳÌÐòµÄÁ÷³Ì¡£ÒþʽÓαê¿ÉÒÔʹÓÃÃû×ÖSQLÀ´·ÃÎÊ£¬µ«Òª×¢Ò⣬ͨ¹ýSQLÓαêÃû×ÜÊÇÖ»ÄÜ·ÃÎÊÇ°Ò»¸ö´¦Àí²Ù×÷»òµ¥ÐÐSELECT²Ù×÷µÄÓαêÊôÐÔ¡£ËùÒÔͨ³£ÔÚ¸Õ¸ÕÖ´ÐÐÍê²Ù×÷Ö®ºó£¬Á¢¼´Ê¹ÓÃSQLÓαêÃûÀ´·ÃÎÊÊôÐÔ¡£ÓαêµÄÊôÐÔÓÐËÄÖÖ,·Ö±ðÊÇSQL %ISOPEN£¬SQL %FOUND£¬SQL %NOTFOUND£¬SQL %ROWCOUNT¡£
¡¡¡¡SQL%ISOPEN·µ»ØµÄÀàÐÍΪ²¼¶ûÐÍ,ÅжÏÓαêÊÇ·ñ±»´ò¿ª£¬Èç¹û´ò¿ª%ISOPENµÈÓÚtrue,·ñÔòµÈÓÚfalse,¼´Ö´Ðйý³ÌÖÐΪÕæ,½áÊøºóΪ¼Ù¡£
¡¡¡¡SQL%NOTFOUND·µ»ØֵΪ²¼¶ûÐÍ,ÅжÏÓαêËùÔÚµÄÐÐÊÇ·ñÓÐЧ£¬Èç¹ûÓÐЧ£¬Ôò%FOUNDDµÈÓÚtrue£¬·ñÔòµÈÓÚfalse,¼´Óë%FOUNDÊôÐÔ·µ»ØÖµÏà·´¡£
¡¡¡¡SQL%FOUND·µ»ØÖµµÄÀàÐÍΪ²¼¶ûÐÍ£¬ÖµÎªTRUE´ú±í²åÈë ɾ³ý ¸üлòµ¥Ðвéѯ²Ù×÷³É¹¦¡£
¡¡¡¡SQL%ROWCOUNT·µ»ØÖµÀàÐÍΪÕûÐÍ£¬·µ»Øµ±Ç°Î»ÖÃΪֹÓαê¶ÁÈ¡µÄ¼Ç¼ÐÐÊý,¼´³É¹¦Ö´ÐеÄÊý¾ÝÐÐÊý¡£ ʾÀý´úÂëÈçÏ£º
set serveroutput on;
¡¡¡¡declare
¡¡¡¡varno varchar2(20);
¡¡¡¡varprice varchar2(20);
¡¡¡¡CURSOR mycur(vartype number) is
¡¡¡¡select emp_no,emp_zc from cus_emp_basic
¡¡¡¡where com_no = vartype;
¡¡¡¡begin
¡¡¡¡if mycur%isopen = false then
¡¡¡¡open&n
Ïà¹ØÎĵµ£º
ORACLEÊý¾Ý¿âµÄÈÕÖ¾Îļþ$ORACLE_BASE/admin/orasid/bdump/alert_orasid.log¼Ç¼ÁËÖØ×÷ÈÕÖ¾µÄת»»£¬
Êý¾Ý¿âÆô¶¯ºÍ¹Ø±Õ£¬Êý¾Ý¿â½á¹¹µÄ¸Ä±ä£¬»ØÍ˶εÄÐ޸ģ¬ËÀËø£¬ÄÚ²¿´íÎóµÈÐÅÏ¢.
Êý¾Ý¿â¹ÜÀíÔ±ÐèÒª¼ì²éÕâ¸öÎļþÓÐÎÞORA-´íÎ󲢶¨ÆڵضÔÕâ¸öÈÕÖ¾Îļþ½øÐд浵ÕûÀí ......
OracleÊý¾Ýµ¼Èëµ¼³öimp/exp¾ÍÏ൱ÓÚoracleÊý¾Ý»¹ÔÓ뱸·Ý¡£expÃüÁî¿ÉÒÔ°ÑÊý¾Ý´ÓÔ¶³ÌÊý¾Ý¿â·þÎñÆ÷µ¼³öµ½±¾µØµÄdmpÎļþ£¬impÃüÁî¿ÉÒÔ°ÑdmpÎļþ´Ó±¾µØµ¼Èëµ½Ô¶´¦µÄÊý¾Ý¿â·þÎñÆ÷ÖС£ ÀûÓÃÕâ¸ö¹¦ÄÜ¿ÉÒÔ¹¹½¨Á½¸öÏàͬµÄÊý¾Ý¿â£¬Ò»¸öÓÃÀ´²âÊÔ£¬Ò»¸öÓÃÀ´ÕýʽʹÓá£
Ö´Ðл·¾³£º¿ÉÒÔÔÚSQLPLUS.EXE»òÕßDOS£¨ÃüÁîÐУ©ÖÐÖ´Ð ......
centos 4.5Ï°²×°oracle 9204
Linux localhost.localdomain 2.6.9-55.ELsmp
Ò»£¬½âѹËõOracle9204µÄ°²×°Îļþ
1£® Oracle 9iR2 (9.2.0.4)
(1) ¼ò»¯¹ý³Ì£¨ÒÔoracleµÇ¼£¬ÊÍ·Å°²×°Îļþ,ʹÓøüÉٵĴÅÅ̿ռ䣬Ëٶȸü¿ì£©
ÔÚ°²×°LINUXʱ×îºÃ·ÖÒ»¸öÇø/orasetup,ÕâÑùÒ»À´¼´Ê¹ÏµÍ³»µÁË,Ò²Ö»ÊÇÖØװϵͳ,¶øÎÞÐëÖØÐ ......
select dm_id, father_id, dm_name from gy_dmcode t
where level <= 2 --²ã¼¶
start with t.dm_id = '0' --¸ù½Úµã
connect by prior t.dm_id = t.father_id; --¶¨Òå¹Øϵ£¬prior ±íʾÓÅÏȼ¶ ......