Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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×Ö·û¼¯ÐÞ¸ÄÎÊÌâ

 ¾­³£ÓÐͬÊÂ×ÉѯoracleÊý¾Ý¿â×Ö·û¼¯Ïà¹ØµÄÎÊÌ⣬ÈçÔÚ²»Í¬Êý¾Ý¿â×öÊý¾ÝÇ¨ÒÆ¡¢Í¬ÆäËüϵͳ½»»»Êý¾ÝµÈ£¬³£³£ÒòΪ×Ö·û¼¯²»Í¬¶øµ¼ÖÂÇ¨ÒÆÊ§°Ü»òÊý¾Ý¿âÄÚÊý¾Ý±ä³ÉÂÒÂë¡£ÏÖÔÚÎÒ½«oracle×Ö·û¼¯Ïà¹ØµÄһЩ֪ʶ×ö¸ö¼òµ¥×ܽᣬϣÍû¶Ô´ó¼Ò½ñºóµÄ¹¤×÷ÓÐËù°ïÖú¡£
¡¡¡¡Ò»¡¢Ê²Ã´ÊÇoracle×Ö·û¼¯
¡¡¡¡Oracle×Ö·û¼¯ÊÇÒ»¸ö×Ö½ÚÊý¾ÝµÄ½âÊÍ ......

oracleϵͳ±í´óÈ«

Êý¾Ý×Öµädict×ÜÊÇÊôÓÚOracleÓû§sysµÄ¡£
¡¡¡¡1¡¢Óû§£º
¡¡¡¡¡¡select username from dba_users;
¡¡¡¡¸Ä¿ÚÁî
¡¡¡¡¡¡alter user spgroup identified by spgtest;
¡¡¡¡2¡¢±í¿Õ¼ä£º
¡¡¡¡¡¡select * from dba_data_files;
¡¡¡¡¡¡select * from dba_tablespaces;//±í¿Õ¼ä
¡¡¡¡¡¡select tablespace_name,sum(bytes), sum(b ......

Oracleɾ³ýÖØ¸´Ðд«ÖDz¥¿Í

 ²éѯ¼°É¾³ýÖØ¸´¼Ç¼µÄSQLÓï¾ä
1¡¢²éÕÒ±íÖжàÓàµÄÖØ¸´¼Ç¼£¬Öظ´¼Ç¼ÊǸù¾Ýµ¥¸ö×ֶΣ¨peopleId£©À´ÅжÏ
select * from people
where peopleId in (select   peopleId from   people group by   peopleId having count(peopleId) > 1)
2¡¢É¾³ý±íÖжàÓàµÄÖØ¸´¼Ç¼£¬Öظ´¼Ç¼ÊǸù¾Ý ......

Oracle¸´Öƽâ¾ö·½°¸

ת×Ô£ºhttp://tech.it168.com/a2009/1023/788/000000788673.shtml
1¡¢·¶Î§
¡¡¡¡±¾ÎÄÌÖÂÛµÄÊÇOracleÊý¾Ý¿âÌṩµÄÊý¾Ý¸´ÖÆ»úÖÆ£¬ËùÌÖÂ۵Ľâ¾ö·½°¸È«²¿ÓëÆ½Ì¨Î޹ء£
¡¡¡¡2¡¢½éÉÜ
¡¡¡¡¸´ÖÆÊÇÄ¿±êÊý¾Ý¿âÓëÔ´Êý¾Ý¿âÖ®¼äÊý¾Ý±£³Öͬ²½µÄÒ»ÖÖ»úÖÆ£¬¸´ÖÆ¿ÉÒԷֳɲ»Í¬µÄÀàÐÍ£¬È磺
¡¡¡¡2.1Êý¾Ý¿âÄڵĸ´ÖÆ
¡¡¡¡ÔÚÕâÖÖÇé¿öÏ£¬Ò»¸ö ......

Oracle Shrink Table


´Ó10g¿ªÊ¼£¬oracle¿ªÊ¼ÌṩShrinkµÄÃüÁ¼ÙÈçÎÒÃǵıí¿Õ¼äÖÐÖ§³Ö×Ô¶¯¶Î¿Õ¼ä¹ÜÀí (ASSM),¾Í¿ÉÒÔʹÓÃÕâ¸öÌØÐÔËõС¶Î£¬¼´½µµÍHWM¡£ÕâÀïÐèҪǿµ÷Ò»µã£¬10gµÄÕâ¸öÐÂÌØÐÔ£¬½ö¶ÔASSM±í¿Õ¼äÓÐЧ£¬·ñÔò»á±¨ ORA-10635: Invalid segment or tablespace type¡£ 
Èç¹û¾­³£ÔÚ±íÉÏÖ´ÐÐDML²Ù× ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ