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

OracleÖÐCursor½éÉܺÍʹÓÃ

Ò»  ¸ÅÄî
ÓαêÊÇSQLµÄÒ»¸öÄڴ湤×÷Çø£¬ÓÉϵͳ»òÓû§ÒÔ±äÁ¿µÄÐÎʽ¶¨Òå¡£ÓαêµÄ×÷ÓþÍÊÇÓÃÓÚÁÙʱ´æ´¢´ÓÊý¾Ý¿âÖÐÌáÈ¡µÄÊý¾Ý¿é¡£ÔÚijЩÇé¿öÏ£¬ÐèÒª°ÑÊý¾Ý´Ó´æ·ÅÔÚ´ÅÅ̵ıíÖе÷µ½¼ÆËã»úÄÚ´æÖнøÐд¦Àí£¬×îºó½«´¦Àí½á¹ûÏÔʾ³öÀ´»ò×îÖÕд»ØÊý¾Ý¿â¡£ÕâÑùÊý¾Ý´¦ÀíµÄËٶȲŻáÌá¸ß£¬·ñÔòƵ·±µÄ´ÅÅÌÊý¾Ý½»»»»á½µµÍЧÂÊ¡£
¶þ  ÀàÐÍ
  CursorÀàÐÍ°üº¬ÈýÖÖ: ÒþʽCursor£¬ÏÔʽCursorºÍRef Cursor£¨¶¯Ì¬Cursor£©¡£
1£® ÒþʽCursor:
1).¶ÔÓÚSelect …INTO…Óï¾ä£¬Ò»´ÎÖ»ÄÜ´ÓÊý¾Ý¿âÖлñÈ¡µ½Ò»ÌõÊý¾Ý£¬¶ÔÓÚÕâÖÖÀàÐ͵ÄDML SqlÓï¾ä£¬¾ÍÊÇÒþʽCursor¡£ÀýÈ磺Select /Update / Insert/Delete²Ù×÷¡£
2)×÷Ó㺿ÉÒÔͨ¹ýÒþʽCusorµÄÊôÐÔÀ´Á˽â²Ù×÷µÄ״̬ºÍ½á¹û£¬´Ó¶ø´ïµ½Á÷³ÌµÄ¿ØÖÆ¡£CursorµÄÊôÐÔ°üº¬£º
SQL%ROWCOUNT ÕûÐÍ ´ú±íDMLÓï¾ä³É¹¦Ö´ÐеÄÊý¾ÝÐÐÊý
SQL%FOUND  ²¼¶ûÐÍ  ֵΪTRUE´ú±í²åÈ롢ɾ³ý¡¢¸üлòµ¥Ðвéѯ²Ù×÷³É¹¦
SQL%NOTFOUND ²¼¶ûÐÍ ÓëSQL%FOUNDÊôÐÔ·µ»ØÖµÏà·´
SQL%ISOPEN ²¼¶ûÐÍ DMLÖ´Ðйý³ÌÖÐΪÕ棬½áÊøºóΪ¼Ù
3) ÒþʽCursorÊÇϵͳ×Ô¶¯´ò¿ªºÍ¹Ø±ÕCursor.
ÏÂÃæÊÇÒ»¸öSample£º 
Set Serveroutput on;
begin
update t_contract_master set liability_state = 1 where policy_code = '123456789';

if SQL%Found then
dbms_output.put_line('the Policy is updated successfully.');
commit;
else
dbms_output.put_line('the policy is updated failed.');
end if;
end;

2£® ÏÔʽCursor£º
£¨1£© ¶ÔÓÚ´ÓÊý¾Ý¿âÖÐÌáÈ¡¶àÐÐÊý¾Ý£¬¾ÍÐèҪʹÓÃÏÔʽCursor¡£ÏÔʽCursorµÄÊôÐÔ°üº¬£º
ÓαêµÄÊôÐÔ   ·µ»ØÖµÀàÐÍ   Òâ    Òå 
%ROWCOUNT   ÕûÐÍ  »ñµÃFETCHÓï¾ä·µ»ØµÄÊý¾ÝÐÐÊý 
%FOUND  ²¼¶ûÐÍ ×î½üµÄFETCHÓï¾ä·µ»ØÒ»ÐÐÊý¾ÝÔòΪÕ棬·ñÔòΪ¼Ù 
%NOTFOUND   ²¼¶ûÐÍ Óë%FOUNDÊôÐÔ·µ»ØÖµÏà·´ 
%ISOPEN ²¼¶ûÐÍ ÓαêÒѾ­´ò¿ªÊ±ÖµÎªÕ棬·ñÔòΪ¼Ù 
£¨2£© ¶ÔÓÚÏÔʽÓαêµÄÔËÓ÷ÖΪËĸö²½Ö裺
 ¶¨ÒåÓαê---Cursor  [Cursor Name]  IS;
 ´ò¿ªÓαê---Open  [Cursor Name];
 ²Ù×÷Êý¾Ý---Fetch  [Cursor name]
 ¹Ø±ÕÓαê---Close [Cursor Name],Õâ¸öStep¾ø¶Ô²»¿ÉÒÔÒÅ©¡£
£¨3£©ÒÔÏÂÊ


Ïà¹ØÎĵµ£º

OracleÖ÷ÒªÅäÖÃÎļþ

Oracle Ö÷ÒªÅäÖÃÎļþ½éÉÜ£¨×ªÌû£©
Oracle Ö÷ÒªÅäÖÃÎļþ½éÉÜ£º
    profileÎļþ£¬oratab Îļþ£¬Êý¾Ý¿âʵÀý³õʼ»¯Îļþ initSID.ora£¬¼àÌýÅäÖÃÎļþ£¬ sqlnet.ora
Îļþ£¬tnsnames.ora Îļþ
1.2 Oracle Ö÷ÒªÅäÖÃÎļþ½éÉÜ
1.2.1 /etc/profile Îļþ
              ......

Oracle Êý¾Ý¿âµÄ°²×°

 
   ×°ÁËÒ»Ò¹µÄÈí¼þ£¬ÏÈÊÇMySQL£¬myEclipse,Oracle ,²»¶ÏµÄ³ö´í£¬OracleServise²»ÄÜÆô¶¯£¬ºÜÊÇ·³ÈË£¬Ð¶ÔØÁËOracelÁ½´Î£¬ÓÖÖØ×°£¬´íÎóµÃµ½Ò»Ð©½â¾ö£¬×¢²á±í³öÏÖÁ˺öàµÄÎÊÌ⣬ÒÔÇ°ÔÚжÔØÈí¼þµÄʱºò£¬¶¼Ã»ÓÐÓÃרÓõŤ¾ß£¬×¢²á±íÒ»ÍÅÂÒ£¬ÕæÊÇÏ൱µÄºó»Ú£¬ÏÖÔÚ¿´À´ÒªÏë¸Ä¹ýÀ´È·ÊµÊǺÜÄѵÄÀ²£¡ÒÔºóÕâ·½ÃæÒª¶à¼ ......

Oracleµ¼Èëµ¼³öÊý¾Ý¿â

µ¼³öÊý¾Ý¿â£ºexp Óû§Ãû/ÃÜÂë@Êý¾Ý¿âÃû file=ÅÌ·û£º/Îļþ¼Ð/ÎļþÃû.bmp owner=Óû§ »ò exp Óû§Ãû/ÃÜÂë@Êý¾Ý¿âÃû file=ÅÌ·û£º/Îļþ¼Ð/ÎļþÃû.bmp full=y
µ¼ÈëÊý¾Ý¿â£ºimp Óû§Ãû/ÃÜÂë@Êý¾Ý¿âÃû file=µ¼³öµÄÎļþ full=y ......

oracle apache phpÂÒÂëÎÊÌâ

°ì·¨Ò»
select * from V$NLS_PARAMETERS
  $conn = oci_connect('scott', 'donkey', 'demo', 'zhs16gbk');
 while ($dat = oci_fetch_row($cur)) {  
    print_r(iconv('gb2312', 'utf-8', $dat[0]));  //$nickname = mb_convert_encoding($dat[0], 'utf-8', 'gbk');&n ......

oracle ³£Ó÷ÖÎöº¯Êý

Oracle³£Ó÷ÖÎöº¯Êý
ROW_NUMBER
·µ»ØÓÐÐò×éÖÐÒ»ÐеÄÆ«ÒÆÁ¿£¬´Ó¶ø¿ÉÓÃÓÚ°´Ìض¨±ê×¼ÅÅÐòµÄÐкÅ
row_number() over(partition by ... order by ...)
RANK
¸ù¾ÝORDER BY×Ó¾äÖбí´ïʽµÄÖµ£¬´Ó²éѯ·µ»ØµÄÿһÐУ¬¼ÆËãËüÃÇÓëÆäËüÐеÄÏà¶ÔλÖá£×éÄÚµÄÊý¾Ý°´ORDER BY×Ó¾äÅÅÐò£¬È»ºó¸øÿһÐи³Ò»¸öºÅ£¬´Ó¶øÐγÉÒ»¸öÐòÁУ¬¸ÃÐòÁ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ