ORACLE PL/SQL ¼¯ºÏѧϰ±Ê¼Ç(Èý)
ËÄ¡¢ÁªºÏÊý×éµÄʹÓ÷½·¨
ÁªºÏÊý×éÒÔǰ±»³ÆÎªPL/SQL±í¡£ÔÚ±íÖв»ÄÜʹÓÃÁªºÏÊý×飬ֻÄܽ«ËüÃÇÓÃ×÷³ÌÐòÉè¼ÆµÄ½á¹¹Ìå¡£Ö»ÄÜÔÚPL/SQLÖзÃÎÊÁªºÏÊý×é¡£
×¢Òâµ½ÁªºÏÊý×é´øÀ´µÄһЩ¹Ø¼üÎÊÌâÊǷdz£ÖØÒªµÄ¡£ÕâЩÎÊÌâʹÎÒÃǽéÉÜËüÃǵÄÓ÷¨Ê±£¬ÐèÒª²ÉÈ¡Ò»Ð©ÌØ±ðµÄ·½·¨¡£ÕâЩÎÊÌâ°üÀ¨£º
ÁªºÏÊý×é²»ÐèÒª³õʼ»¯£¬Ò²Ã»Óй¹Ô캯ÊýÓï·¨¡£ÔÚ¶ÔËüÃǽøÐи³ÖµÒÔǰ£¬Ò²²»ÐèҪרÃÅΪÆä·ÖÅä´æ´¢¿Õ¼ä£¬Ò²¾Í²»ÐèҪʹÓü¯ºÏAPIµÄEXTEND·½·¨¡£
ÔÚORACLE 10GÖУ¬ÒÔ¼°ÔÚORACLE 10GÒÔǰµÄ°æ±¾ÖУ¬¶¼¿ÉÒÔʹÓÃÊý×ÖË÷ÒýÁªºÏÊý×é¡£ÁíÍ⣬ÔÚORACLE 10GÖУ¬»¹¿ÉÒÔʹÓþßÓÐΨһÐԵı䳤×Ö·û´®×÷ΪÁªºÏÊý×éµÄË÷Òý¡£
¿ÉÒÔʹÓÃÈÎÒâµÄÕûÊý×÷ΪÁªºÏÊý×éµÄË÷Òý£¬Õâ¾Í˵Ã÷ÁªºÏÊý×éµÄË÷Òý¿ÉÒÔÊÇÈÎÒâÕýÊý¡¢¸ºÊý»ò0¡£
¿ÉÒÔÏÔʽµØ½«µÈ¼ÛµÄ%ROWTYPE¡¢¼Ç¼ÀàÐͺͶÔÏóÀàÐ͵ķµ»ØÖµ£¬×ª»»³ÉÁªºÏÊý×éµÄ½á¹¹Ìå¡£
ÁªºÏÊý×éÊÇʹÓÃFORALLÓï¾ä»òBULK COLLECT×Ó¾äµÄ¹Ø¼ü£¬¶øºóÕßÔòÔÊÐíÊý¾Ý¿âµ½³ÌÐòÉè¼Æµ¥ÔªµÄÅúת»»¡£
ÔÚʹÓÃÁËÈ«Çò»¯ÉèÖã¬ÀýÈçNLS_COMP»òNLS_SORT³õʼ»¯²ÎÊýµÄÊý¾Ý¿âÖУ¬½«×Ö·û´®ÓÃ×÷ÁªºÏÊý×éË÷ÒýµÄʱºò£¬ÐèÒªÎÒÃǽøÐÐÌØÊâµÄ´¦Àí¡£
1¡¢¶¨ÒåÁªºÏÊý×éºÍÓÃ×÷PL/SQLµÄ³ÌÐò½á¹¹Ìå
ÔÚPL/SQLÓïÑÔÖж¨ÒåÁªºÏÊý×éµÄÓï·¨ÓÐÁ½ÖÖ£¬Ò»ÖÖÊÇ£º
CREATE OR REPLACE TYPE type_name
AS TABLE OF element_type [NOT NULL]
INDEX BY [PLS_INTEGER | BINARY_INTEGER | VARCHAR2(size) ];
¿ÉÒÔ½«ÕýÊý¡¢¸ºÊý»òÕß0ÖµÓÃ×÷ÁªºÏÊý×éµÄË÷Òý¡£ORACLE 10GÖеÄPLS_INTEGERºÎBINARY_INTEGERÀàÐͶ¼ÊDz»ÊÜÏÞÖÆµÄÊý¾ÝÀàÐÍ£¬ÕâÁ½¸öÊý¾ÝÀàÐͶ¼Ó³Éäµ½C/C++¡¢C#ºÍJAVAµÄµ÷Óù淶ÖС£
±ä³¤×Ö·û´®µÄ×î´ó³¤¶ÈΪ4000¸ö×Ö·û¡£
ÁíÒ»ÖÖ¶¨ÒåÁªºÏÊý×éµÄÓï·¨ÊÇ£º
CREATE OR REPLACE TYPE type_name
AS TABLE OF element_type [NOT NULL]
INDEX BY key_type;
ÆäÖеÄkey_typeÔÊÐíÎÒÃÇʹÓÃVARCHAR2¡¢STRING»òLONGÀàÐÍ¡£Ê¹ÓÃVARCHAR2ºÍSTRINGʱ£¬¶¼ÐèÒª¶¨Òå´óС¡£Ê¹ÓÃLONGÀàÐÍʱ£¬Ôò²»ÐèÒª¶¨Òå´óС£¬ÒòΪËüÊÇͨ¹ý¶¨ÒåVARCHAR£¨32760£©½øÐж¨ÒåµÄ¡£
ÁªºÏÊý×é²»ÐèÒª½øÐгõʼ»¯£¬Ò²Ã»Óй¹Ô캯ÊýÓï·¨¡£ÕâÊÇÓëÆäËûÁ½ÖÖ¼¯ºÏÀàÐÍ£¨VARRAYSºÍǶÌ×±í£©ÓÐ×ű¾ÖÊÇø±ðµÄµØ·½¡£
Èç¹ûÄãÏñÏÂÃæÕâÑù¹¹ÔìÒ»¸öÁªºÏÊý×飬ÄÇô»áÒý·¢PLS-00222Òì³£¡£
DECLARE
-- Define an associative array of strings.
TYPE card_table IS TABLE OF VARCHAR2(5 CHAR)
INDEX BY BI
Ïà¹ØÎĵµ£º
select decode('X','Q','±äÁ¿1','±äÁ¿2') from dual
¡¡select sysdate,to_char(sysdate,’yyyy-mm-dd hh24:mi:ss’) from dual
¡¡
¡¡select to_date(’2003-10-17 21:15:37’,’yyyy-mm-dd hh24:mi:ss’) from dual
ÈÕÆÚ¸ñʽ²ÎÊý º¬Òå˵Ã÷
D Ò»ÖÜÖеÄÐÇÆÚ¼¸
DAY ÌìµÄÃû ......
½çÃæ¿ª·¢ÈËÔ±±¨ÓкܶàÖØ¸´Êý¾ÝÔÚÓû§È¨ÏÞ±í¡£È»ºóÎÒɾ³ýÁ˱íÊý¾Ýdelete ·½Ê½£¬ÐÞ¸ÄÁ˶ÔÓ¦µÄ´æ´¢¹ý³Ìʹ֮²»Öظ´£¡
ºóÀ´·¢ÏÖ ÖØÐÂÀ»ØµÄÊý¾ÝûȨÏÞ¡£ Ö»ºÃÉÁ»Øµ½½ñÌìÁ賿ÁË£¡
SQL> ALTER TABLE BA.T_POWER_ADMIN ENABLE ROW MOVEMENT;
Table altered
SQL> flashback table ba.t_Power_Admin to tim ......
µÚÒ»²½¡¢¼ì²é²Ù×÷ϵͳ»·¾³
rpm -q gcc make binutils openmotif glibc setarch compat-db compat-gcc-34 openmotif compat-gcc-34-c++ compat-libstdc++-33
Èç¹û¼ì²âµ½Äĸö°üûÓÐ×°£¬Ôò·Ö±ðÔÚISO¾µÏñÎļþÖÐÕÒµ½½øÐа²×°
¹ÒÔØ6ÕÅ»ò7ÕÅISOÎļþ£¬
±ÈÈç˵£ºrpm -ivh /mnt/iso/3/CentOS/openmotif*
Ö»ÒªÊÇûÓÐ×°µÄ¶¼Òª½øÐа ......
Ò»¡¢ÉèÖóõʼ»¯²ÎÊý job_queue_processes
¡¡¡¡sql> alter system set job_queue_processes=n;£¨n>0£©
¡¡¡¡job_queue_processes×î´óֵΪ1000
¡¡¡¡
¡¡¡¡²é¿´job queue ºǫ́½ø³Ì
¡¡¡¡sql>select name,description from v$bgprocess;
¡¡¡¡
¡¡¡¡¶þ£¬dbms_job package Ó÷¨½éÉÜ
¡¡¡¡°üº¬ÒÔÏÂ×Ó¹ý³Ì£º
¡¡¡¡
¡¡ ......
Èý¡¢Ç¶Ì×±íµÄʹÓ÷½·¨
1¡¢½«Ç¶Ì×±í¶¨ÒåΪPL/SQLµÄ³ÌÐò¹¹Ôì¿é
TYPE type_name IS TABLE OF element_type[NOT NULL];
ÈçÏÂÀýËùʾ£º
DECLARE
-- Define a nested table of variable length strings.
TYPE card_table IS TABLE OF VARCHAR2(5 CHAR);
-- Declare and initialize a n ......