ORACLE PL/SQL
Ò»¡¢Ê²Ã´ÊÇPL/SQL?
PL/SQL(Procedural Language/SQL)ÊǶÔSQLµÄÀ©³ä,ËüÎüÊÕÁ˽üÄêÀ´±à³ÌÓïÑÔµÄÐí¶à×î¸ßÉè¼ÆÌØµã:ÈçÊý¾Ý·â×°ÐÔ¡¢ÐÅÏ¢Òþ±ÎÐÔ¡¢ÖØÔغÍÀýÍâ´¦ÀíµÈ¡£ËüÔÊÐíSQLµÄÊý¾Ý²Ù×ÝÓïÑԺͲéѯÓï¾ä°üº¬ÔÚ¿é½á¹¹(block_structured)ºÍ´úÂë¹ý³ÌÓïÑÔÖÐ,ʹPL/SQL³ÉΪһ¸ö¹¦ÄÜÇ¿´óµÄÊÂÎñ´¦ÀíÓïÑÔ¡£
PL/SQLµÄÓŵãÈçÏÂ:
1.¿é½á¹¹(Block Structure)
PL/SQLÊÇ¿é½á¹¹ÓïÑÔ,Òâζ×ųÌÐò¿ÉÒÔ·Ö³ÉÈô¸ÉÂß¼¿é,¸÷×Ô°üº¬ÄǸöµ¥ÔªÀïÒªÇóµÄÂß¼ÓïÑÔ×ÊÔ´¡£¿ÉÒÔ¶Ô¿éÐû²¼±¾µØ±äÁ¿£¬ÔÚ¿éÖÐʹÓÃÕâЩ±äÁ¿,¿ÉÔÚËüÃÇÓ¦ÓõĿéÖÐÌØ±ðµØ´¦Àí´íÎóÌõ¼þ(½Ð×öExceptions)
2. Á÷³Ì¿ØÖÆ
Ìõ¼þÓï¾ä¡¢Ñ»·ºÍ·ÖÖ§¿ÉÓÃÀ´¿ØÖƳÌÐòµÄ¹ý³ÌÁ÷£¬ÒÔ¾ö¶¨ÊÇ·ñ»òºÎʱִÐÐSQL»òÆäËüÐж¯¡£ÕâÐ©ÌØµãÔÊÐíORACLE¹¤¾ß(ÖîÈçSQL*Forms)È¥·Ö×éÁªÏµÔÚÒ»ÆðµÄÃüÁî×éºÍͨ¹ýPL/SQL¿ØÖÆËüÃǵÄÖ´ÐС£ÕâÑù¿ÉÒÔ±ÜÃâÖÃÐí¶àÃüÁîΪµ¥¶ÀµÄ´¥·¢Æ÷²½Öè»òÕßǶÌ×Íⲿ±à³ÌÓïÑÔÖеÄSQLÓï¾äµÄÒªÇó¡£
3. ¿ÉÒÆÖ²ÐÔ
ÒòΪPL/SQLÊÇORACLEµÄÖ÷ÓïÑÔ,¹Ê³ÌÐò¿ÉÒÆÖ²ÖÁÖ§³ÖORACLEºÍPL/SQLµÄÈκβÙ×÷ϵͳƽ̨ÉÏ¡£
4.¼¯³ÉÐÔ
PL/SQLÔÚRDBMS(´æÖü¹ý³Ì¡¢´¥·¢Æ÷¡¢°ü)ºÍORACLE¹¤¾ßÖаçÑÝÁËÈÕÒæÔö³¤µÄÖÐÐĽÇÉ«¡£PL/SQLµÄ±äÁ¿ºÍÐÍÓëSQLµÄ±äÁ¿ºÍÐͼæÈÝ(Óë×Ô¼ºÓÃÔÚÊý¾Ý¿âÁÐÖеÄÐÍÒ²¼æÈÝ)¡£Òò´Ë£¬PL/SQLÊÇÁ¬½ÓÊý¾Ý¿â¼¼ÊõºÍ¹ý³Ì±à³ÌÄÜÁ¦Ö®¼ä¼ä϶µÄ·½±ãµÄÇÅÁº¡£
5. ¸Ä½øÁËÐÔÄÜ
PL/SQLµÄʹÓÿÉÒÔ°ïÖú¸Ä½øÓ¦ÓóÌÐòµÄÐÔÄÜ¡£ÔÚûÓÐPL/SQLʱ,ORACLEÿ´ÎÖ»´¦ÀíÒ»¸öSQLÓï¾ä,¶øÔÚ¾ßÓÐPL/SQLʱ,Ò»¸öÍêÕûµÄÓï¾ä¿éÒ»´Î·¢Ë͵½ORACLE,¿ÉÃ÷ÏԵؼõÉÙÓëORACLEÖ®¼äµÄͨÐź͵÷Óá£Ìá¸ßÁËÐ§Òæ¡£Ð§ÒæµÄ²îÒìÈ¡¾öÓÚPL/SQLʹÓõÄʲô»·¾³¡£ÕâÐ©Ð§ÒæÉÔºóÌÖÂÛ¡¡
¶þ¡¢PL/SQLµÄ½á¹¹
PL/SQLµÄÿ¸öµ¥ÔªÓÉÒ»¸ö»ò¶à¸ö¿é(blocks)×é³É¡£ÕâЩ¿é¿ÉÒÔÊÇÍêÈ«¶ÀÁ¢µÄ,»òÕßÒ»¸ö¿éǶÌ×ÔÚÁíÒ»¸ö¿éÖ®ÖС£ÕâÑù,Ò»¸ö¿é¿É±íʾÆäËü¿éµÄһС²¿·Ö,·´¹ýÀ´,ËüÇ¡ºÃÒ²ÊÇÕû¸ö³ÌÐòÂëµ¥ÔªµÄÒ»²¿·Ö¡£
ͨ³£,Ò»¸ö¿é¿ÉÒÔÊÇÎÞÃû¿é»òÕßÒ»¸ö×Ó³ÌÐò¡£
1. ÎÞÃû¿é(anonymous)
ÎÞÃû¿éÊÇÒ»ÖÖûÓÐÃû×ֵĿ顣ÕâЩ¿éÔÚÔËÐÐËüÃǵÄÓ¦ÓóÌÐòÖÐ˵Ã÷£¬²¢ÇÒΪÁËÖ´ÐÐÔÚÔËÐÐʱÓÉPL/SQLÒýÇæÍ¨¹ý¡£ÎÞÃû¿é¿ÉÒÔǶÈëÔ¤±àÒë³ÌÐò(»òOCI³ÌÐò)¡¢ÒÔ¼°SQL*PLUS»òSQL*DBAÖС£SQL*FormsÖеĴ¥·¢Æ÷Ò²ÓÉÕâЩ¿é×é³É,ÎÞÃû¿éÓõý϶ࡣ
ÎÞÃû¿éµÄ¶¨ÒåÐÎʽΪ:
DECLARE
--˵Ã÷
BEGIN
--Óï¾äÐòÁÐ
[EXCEPT
Ïà¹ØÎĵµ£º
ORACLEÖÐLikeÓëInstrÐÔÄÜ´ó±ÈÆ´
×÷Õߣºµ¤³¼ | ¡¾×ªÔØÊ±ÇëÎñ±ØÒÔ³¬Á´½ÓÐÎʽ±êÃ÷ÎÄÕÂÔʼ³ö´¦ºÍ×÷ÕßÐÅÏ¢¼°±¾ÉùÃ÷¡¿
µØÖ·£ºhttp://rdc.taobao.com/blog/dba/html/246_like_instr_performance.html
t±íÖн«½üÓÐ1100ÍòÊý¾Ý£¬ºÜ¶àʱºò£¬ÎÒÃÇÒª½øÐÐ×Ö·û´®Æ¥Å䣬ÔÚSQLÓï¾äÖУ¬ÎÒÃÇͨ³£Ê¹ÓÃlikeÀ´´ïµ½ÎÒÃÇËÑË÷µÄÄ¿±ê¡£µ«¾¹ýʵ¼Ê ......
1.Êý¾Ý¿â¹ÜÀíÏà¹Ø
¡¡¡¡bbed.exe¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Êý¾Ý¿éä¯ÀÀºÍ±à¼¹¤¾ß
¡¡¡¡dbv.exe¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ Êý¾ÝÎļþÂß¼¼ì²â¹¤¾ß
¡¡¡¡exp.exe¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ Êý¾Ýµ¼³ö¹¤¾ß
¡¡¡¡imp.exe¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ Êý¾Ýµ¼È빤¾ß
¡¡¡¡mig.exe¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ Êý¾Ý¿âÒÆÖ²¹¤¾ß
¡¡¡¡nmumigrate.exe¡¡¡¡¡¡¡¡ Da ......
¶ÔÓÚOracle¹¤×÷Á÷µÄÓÅ»¯·½Ê½Ö÷Òª·ÖÁ½´óÀ࣬һÀàÊÇÁ÷³ÌÉè¼ÆÉϵÄÓÅ»¯£¬Ò»ÀàÊÇÊý¾Ý¿âÐÔÄܵÄÓÅ»¯¡£
Á÷³ÌÉè¼ÆÓÅ»¯£º
×ÐϸѡÔñͬ²½´¦ÀíºÍÒì²½´¦Àíģʽ¡£
Èç¹ûÑ¡Ôñͬ²½´¦Àíģʽ£¬ÔòÔÚÌá½»ºóϵͳÁ¢¼´½øÐй¤×÷Á÷´¦Àí£¬ÔÚÁ÷³Ì½áÊøÇ°£¬Ç°¶Ë³ÌÐò½«Ò»Ö±´¦Óڵȴý×´ ̬¡£Èç¹ûÑ¡ÔñÒì²½´¦Àíģʽ£¬³ÌÐòÌá½»¹¤×÷Á÷ºó¿ØÖÆÈ¨Á¢¼´·µ»Ø£¬¹¤×÷Á÷º ......
˵µ½Èí½âÎö£¨soft prase
£©ºÍÓ²½âÎö£¨
hard prase
£©£¬¾Í²»Äܲ»ËµÒ»ÏÂ
Oracle
¶Ô
sql
µÄ´¦Àí¹ý³Ì¡£µ±Äã·¢³öÒ»Ìõ
sql
Óï¾ä½»¸¶
Oracle
£¬ÔÚÖ´ÐкͻñÈ¡½á¹ûǰ£¬
Oracle
¶Ô´Ë
sql
½«½øÐм¸¸ö²½ÖèµÄ´¦Àí¹ý³Ì£º
1¡¢Óï·¨¼ì²é£¨
syntax check
£©
&nb ......