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°²×°Ä¿Â¼$HOME/network/adminÏ£¬¾³£¿´µ½sqlnet.ora tnsnames.ora
listener.oraÕâÈý¸öÎļþ£¬³ýÁËtnsnames.ora£¬ÆäËûÁ½¸öÎļþÏêϸµÄÓÃ;ºÜ¶àÈ˶¼²»Ì«Á˽⡣
sqlnet.ora ÓÃÔÚoracle client¶Ë£¬ÓÃÓÚÅäÖÃÁ¬½Ó·þÎñ¶ËoracleµÄÏà¹Ø²ÎÊý.
tnsnames.ora ÓÃÔÚoracle
client¶Ë£¬Óû§ÅäÖÃÁ¬½ÓÊý¾Ý¿âµÄ±ðÃû²ÎÊý,¾ÍÏñÏµÍ³Ö ......
1¡¢¹Ø±ÕÊý¾Ý¿â >>shutdown immediate;
2¡¢¿½±´Îļþ£¨*.dbf)µ½Ä¿µÄÎļþ¼Ð;
3¡¢Æô¶¯Êý¾Ý¿â >>startup mount;
4¡¢¸ü¸Ä·¾¶
>>alter database rename file 'C:\oracle\oradata\global\USERS01.DBF' to 'D:\oracle\USERS01.DBF';
>>alter database rename file 'C:\oracle\oradata\global\UNDOTBS ......
ÔÚÐéÄâ»úRed Hat Enterprise Linux 4 update 4Öа²×°oracle 10.2.0.1
1)²é¿´ÏµÍ³ÄÚ´æ
[root@linux4 ~]# grep MemTotal /proc/meminfo
2)²é¿´½»»»Çø´óС
[root@linux4 ~]# grep SwapTotal /proc/meminfo
3)
²é¿´/tmpĿ¼´óС
[root@linux4 ~]# df -m /tmp
4)²é¿´²Ù×÷ϵͳ°æ±¾
[root@linux4 ~]# cat /etc/issue
5)¼ ......
oracleÀïµÄ³£ÓÃÃüÁîÏê½â
±¾ÎÄÕë¶ÔoracleÈÕ³£µÄÃûÁî×öÁ˽éÉÜ£¬»¶Ó¸÷λ´óÏÀ¶àÌᱦ¹óÒâ¼ûºÍ¶à¶à²¹³ä£¡
Ò»
ÈÕÖ¾¹ÜÀí
1.forcing log switches
sql> alter system switch logfile;
2.forcing checkpoints
sql> alter system checkpoint;
3.adding online redo log groups
sql> alter database add logfil ......
ORACLEÊý¾Ý¿âÆô¶¯Ê±·ÖÅäÒ»´ó¿é·Ç³£´óµÄÄÚ´æÇøÓò¡£ORACLEÔËÐйý³ÌÖÐËùÓеIJÙ×÷¶¼ÔÚÕâÀï½øÐС£
ORACLEÄÚ´æ=SGA+PGA¡£
SGA=Êý¾Ý¸ßËÙ»º³åÇø+ÈÕÖ¾»º³åÇø+¹²Ïí³Ø+´ó³Ø+Java³Ø¡£
Êý¾Ý¸ßËÙ»º³åÇø£ºÊý¾Ý¸ßËÙ»º³åÇøÊÇ×î½ü´ÓÊý¾ÝÎļþÖмìË÷³öÀ´µÄÊý¾Ý£¬»º´æÆðÀ´¹©ËùÓÐÓû§¹²Ïí¡£
ÈÕÖ¾»º³åÇø£º»º´æÓû§¶ÔÊý¾Ý¿âÖ´Ðеĸ÷Àà²Ù×÷µÄÖØ×ö ......