Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

oracle ±Ê¼Ç VI Ö®Óαê (CURSOR)

 Óαê(CURSOR),ºÜÖØÒª
Óαê:ÓÃÓÚ´¦Àí¶àÐмǼµÄÊÂÎñ
ÓαêÊÇÒ»¸öÖ¸ÏòÉÏÏÂÎĵľä±ú(handle)»òÖ¸Õë,¼òµ¥Ëµ£¬Óαê¾ÍÊÇÒ»¸öÖ¸Õë
1 ´¦ÀíÏÔʽÓαê
  ÏÔʽÓα괦ÀíÐè 4¸ö PL/SQL ²½Öè,ÏÔʾÓαêÖ÷ÒªÓÃÓÚ´¦Àí²éѯÓï¾ä
  (1) ¶¨ÒåÓαê
  ¸ñʽ:  CURSOR cursor_name [(partment[,parameter]...)] IS select_statement;
   ¶¨ÒåµÄÓα겻ÄÜÓÐ INTO ×Ó¾ä
  (2) ´ò¿ªÓαê
   OPEN cursor_name[...];
  PL/SQL ³ÌÐò²»ÄÜÓà OPEN Óï¾äÖØ¸´´ò¿ªÒ»¸öÓαê
  (3)ÌáÈ¡ÓαêÊý¾Ý
   FETCH cursor_name INTO {variable_list | record_variable};
  (4) ¹Ø±ÕÓαê
   CLOSE cursor_name;
  Àý 1 ²éѯǰ 10 ÃûÔ±¹¤µÄÐÅÏ¢  
   declare
    --¶¨ÒåÓαê
    cursor c_cursor is select last_name,salary  from employees where rownum < 11 order by salary;
    v_name employees.last_name%type;
    V_sal employees.salary%type;
 
    begin
      --´ò¿ªÓαê
      open c_cursor;
      -- ÌáÈ¡ÓαêÊý¾Ý
      fetch c_cursor into v_name,v_sal;
       while c_cursor %found loop
             dbms_output.put_line(v_name || ':' || v_sal);
             fetch c_cursor into v_name,v_sal;
        end loop;
  
       --¹Ø±ÕÓαê
       close c_cursor;
   end;
----------------------------------
 Á·Ï°: ÊäÈ벿ÃźŠdep_id,²éѯ¸Ã²¿Ãŵį½¾ù¹¤×Ê : avg_sal,Ô±¹¤¹¤×ÊΪ salary
       Èô salary < avg_sal - 500 ¹¤×ÊÕÇ 500
       Èô avg_sal - 500 <= salary < avg_sal + 500 ¹¤×ÊÕÇ 300
       Èô


Ïà¹ØÎĵµ£º

OracleÊý¾Ý¿âÖÐÐòÁÐÓ÷¨½²½â

ÐòÁÐ(SEQUENCE)ÊÇÐòÁкÅÉú³ÉÆ÷£¬¿ÉÒÔΪ±íÖеÄÐÐ×Ô¶¯Éú³ÉÐòÁкţ¬²úÉúÒ»×éµÈ¼ä¸ôµÄÊýÖµ(ÀàÐÍΪÊý×Ö)¡£ÆäÖ÷ÒªµÄÓÃ;ÊÇÉú³É±íµÄÖ÷¼üÖµ£¬¿ÉÒÔÔÚ²åÈëÓï¾äÖÐÒýÓã¬Ò²¿ÉÒÔͨ¹ý²éѯ¼ì²éµ±Ç°Öµ£¬»òʹÐòÁÐÔöÖÁÏÂÒ»¸öÖµ¡£
´´½¨ÐòÁÐÐèÒªCREATE SEQUENCEϵͳȨÏÞ¡£ÐòÁеĴ´½¨Óï·¨ÈçÏ£º
CREATE SEQUENCE ÐòÁÐÃû
[INCREMENT BY n]
[ST ......

Oracle ²ÎÊýÎļþ×ܽá

1:pfileºÍspfile
ÔÚ9i֮ǰ£¬²ÎÊýÎļþÖ»ÓÐÒ»ÖÖ£¬ËüÊÇÎı¾¸ñʽµÄ£¬³ÆÎªpfile£¬ÔÚ9i¼°ÒÔºóµÄ°æ±¾ÖУ¬ÐÂÔöÁË·þÎñÆ÷²ÎÊýÎļþ,³ÆÎªspfile,ËüÊǶþ½øÖƸñʽµÄ¡£ÕâÁ½ÖÖ²ÎÊýÎļþ¶¼ÊÇÓÃÀ´´æ´¢²Î ÊýÅäÖÃÒÔ¹©oracle¶ÁÈ¡µÄ£¬µ«Ò²Óв»Í¬µã£¬×¢ÒâÒÔϼ¸µã£º
1)pfileÊÇÎı¾Îļþ£¬spfileÊǶþ½øÖÆÎļþ£»
2)¶ÔÓÚ²ÎÊýµÄÅäÖã¬pfile¿ÉÒÔÖ±½ÓÒÔÎ ......

Oracle³£ÓÃSqlÓï¾ä

1. ´´½¨ÊÓͼ£º
CREATE OR REPLACE VIEW SM_V_UNIT_AUTH AS
SELECT T2.UNIT_ID,
        T2.SUPER_UNIT_ID,
        T1.AUTH_ID,
        T1.AUTH_NAME,
        T1.A ......

oracle dblink µÄÓ¦ÓÃ


1¡¢ÓÃdblinkÁ´½Óoracle
£¨1£©ÓëÆ½Ì¨Î޹صÄд·¨£º
create public database
link cdt connect to apps
identified by apps using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.31.205.100)(PORT = 1541))
)
(CONNECT_DATA =
(SERVICE_NAME = CDT)
)
)'
£¨2£©¿ÉÒÔ½«µ¥ÒýºÅÄÚµÄÄÚÈÝ ......

OracleÖÐUSERENVºÍSYS_CONTEXT×ܽá[ת]

 
OracleÖÐUSERENVºÍSYS_CONTEXTÓÃÀ´·µ»Øµ±Ç°sessionµÄÐÅÏ¢£¬ÆäÖУ¬userenvÊÇΪÁ˱£³ÖÏòϼæÈݵÄÒÅÁôº¯Êý£¬ÍƼöʹÓÃsys_contextº¯Êýµ÷ÓÃuserenvÃüÃû¿Õ¼äÀ´»ñÈ¡Ïà¹ØÐÅÏ¢¡£
1¡¢ USERENV(OPTION)
¡¡¡¡·µ»Øµ±Ç°µÄ»á»°ÐÅÏ¢.
¡¡¡¡OPTION='ISDBA'Èôµ±Ç°ÊÇDBA½ÇÉ«,ÔòΪTRUE,·ñÔòFALSE.
¡¡¡¡OPTION='LANGUAGE'·µ»ØÊý¾Ý¿âµÄ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ