[¾«»ª] ͨ¹ý·ÖÎöSQLÓï¾äµÄÖ´Ðмƻ®ÓÅ»¯SQL£¨×ܽᣩ7ÄêDBA¹¤×÷¾­Ñé ÏÂÔØ±¾ÎÄ

l ͨ¹ý·ÖÎöV $SESSION_WAITÖеÄÊý¾Ý£¬¾ö¶¨Æ¿¾±µÄÔ­Òò¡£ l ¾ÀÕý´æÔÚµÄÎÊÌâ¡£

[B]¼à¿ØÓ¦ÓÃϵͳ[/B]

ÕâÖ÷ÒªÊÇͨ¹ý¼à¿ØoracleµÄ¶¯Ì¬ÊÓͼÀ´Íê³É¡£

¸÷ÖÖÓÐÓõĶ¯Ì¬ÊÓͼ£ºÈçv$session_wait, v$session_eventµÈ¡£

[B]µÚ2Õ ÓÐЧµÄÓ¦ÓÃÉè¼Æ[/B]

ÎÒÃÇͨ³£½«×î³£ÓõÄÓ¦Ó÷ÖΪ2ÖÖÀàÐÍ£ºÁª»úÊÂÎñ´¦ÀíÀàÐÍ(OLTP)£¬¾ö²ßÖ§³Öϵͳ(DSS)¡£

[B]Áª»úÊÂÎñ´¦Àí(OLTP)[/B]

¸ÃÀàÐ͵ÄÓ¦ÓÃÊǸßÍÌÍÂÁ¿£¬²åÈë¡¢¸üС¢É¾³ý²Ù×÷±È½Ï¶àµÄϵͳ£¬ÕâЩϵͳÒÔ²»¶ÏÔö³¤µÄ´óÈÝÁ¿Êý¾ÝÎªÌØÕ÷£¬ËüÃÇÌṩ¸ø³É°ÙÓû§Í¬Ê±´æÈ¡£¬µäÐ͵ÄOLTPϵͳÊǶ©Æ±ÏµÍ³£¬ÒøÐеÄÒµÎñϵͳ£¬¶©µ¥ÏµÍ³¡£OTLPµÄÖ÷ҪĿ±êÊÇ¿ÉÓÃÐÔ¡¢ËÙ¶È¡¢²¢·¢ÐԺͿɻָ´ÐÔ¡£

µ±Éè¼ÆÕâÀàϵͳʱ£¬±ØÐëÈ·±£´óÁ¿µÄ²¢·¢Óû§²»ÄܸÉÈÅϵͳµÄÐÔÄÜ¡£»¹ÐèÒª±ÜÃâʹÓùýÁ¿µÄË÷ÒýÓëcluster ±í£¬ÒòΪÕâЩ½á¹¹»áʹ²åÈëºÍ¸üвÙ×÷±äÂý¡£

[B]¾ö²ßÖ§³Ö(DSS)[/B]

¸ÃÀàÐ͵ÄÓ¦Óý«´óÁ¿ÐÅÏ¢½øÐÐÌáÈ¡Ðγɱ¨¸æ£¬Ð­Öú¾ö²ßÕß×÷³öÕýÈ·µÄÅжϡ£µäÐ͵ÄÇé¿öÊÇ£º¾ö²ßÖ§³Öϵͳ½«OLTPÓ¦ÓÃÊÕ¼¯µÄ´óÁ¿Êý¾Ý½øÐвéѯ¡£µäÐ͵ÄÓ¦ÓÃΪ¿Í»§ÐÐΪ·ÖÎöϵͳ(³¬ÊУ¬±£ÏÕµÈ)¡£ ¾ö²ßÖ§³ÖµÄ¹Ø¼üÄ¿±êÊÇËÙ¶È¡¢¾«È·ÐԺͿÉÓÃÐÔ¡£

¸ÃÖÖÀàÐ͵ÄÉè¼ÆÍùÍùÓëOLTPÉè¼ÆµÄÀíÄî±³µÀ¶ø³Û£¬Ò»°ã½¨ÒéʹÓÃÊý¾ÝÈßÓà¡¢´óÁ¿Ë÷Òý¡¢cluster table¡¢²¢ÐвéѯµÈ¡£

½üÄêÀ´£¬¸ÃÀàÐ͵ÄÓ¦ÓÃÖð½¥ÓëOLAP¡¢Êý¾Ý²Ö¿â½ôÃܵÄÁªÏµÔÚÒ»Æð£¬ÐγɵÄÒ»¸öеÄÓ¦Ó÷½Ïò¡£ [B]µÚ3Õ SQLÓï¾ä´¦ÀíµÄ¹ý³Ì[/B]

ÔÚµ÷Õû֮ǰÎÒÃÇÐèÒªÁ˽âһЩ±³¾°ÖªÊ¶£¬Ö»ÓÐÖªµÀÕâЩ±³¾°ÖªÊ¶£¬ÎÒÃDzÅÄܸüºÃµÄÈ¥µ÷ÕûsqlÓï¾ä¡£

±¾½Ú½éÉÜÁËSQLÓï¾ä´¦ÀíµÄ»ù±¾¹ý³Ì£¬Ö÷Òª°üÀ¨£º ¡¤ ²éѯÓï¾ä´¦Àí

¡¤ DMLÓï¾ä´¦Àí(insert, update, delete) ¡¤ DDL Óï¾ä´¦Àí(create .. , drop .. , alter .. , ) ¡¤ ÊÂÎñ¿ØÖÆ(commit, rollback)

[B]SQL Óï¾äµÄÖ´Ðйý³Ì(SQL Statement Execution)[/B]

ͼ3-1 ¸ÅÒªµÄÁгöÁË´¦ÀíºÍÔËÐÐÒ»¸ösqlÓï¾äµÄÐèÒª¸÷¸öÖØÒª½×¶Î¡£ÔÚijЩÇé¿öÏ£¬OracleÔËÐÐsqlµÄ¹ý³Ì¿ÉÄÜÓëÏÂÃæÁгöµÄ¸÷¸ö½×¶ÎµÄ˳ÐòÓÐËù²»Í¬¡£ÈçDEFINE½×¶Î¿ÉÄÜÔÚFETCH½×¶Î֮ǰ£¬ÕâÖ÷ÒªÒÀÀµÄãÈçºÎÊéд´úÂë¡£

¶ÔÐí¶àoracleµÄ¹¤¾ßÀ´Ëµ£¬ÆäÖÐijЩ½×¶Î»á×Ô¶¯Ö´ÐС£¾ø´ó¶àÊýÓû§²»ÐèÒª¹ØÐĸ÷¸ö½×¶ÎµÄϸ½ÚÎÊÌ⣬Ȼ¶ø£¬ÖªµÀÖ´Ðеĸ÷¸ö½×¶Î»¹ÊÇÓбØÒªµÄ£¬Õâ»á°ïÖúÄãд³ö¸ü¸ßЧµÄSQLÓï¾äÀ´£¬¶øÇÒ»¹¿ÉÒÔÈÃÄã²Â²â³öÐÔÄܲîµÄSQLÓï¾äÖ÷ÒªÊÇÓÉÓÚÄÄÒ»¸ö½×¶ÎÔì³ÉµÄ£¬È»ºóÎÒÃÇÕë¶ÔÕâ¸ö¾ßÌåµÄ½×¶Î£¬ÕÒ³ö½â¾öµÄ°ì·¨¡£

ͼ 3-1 SQLÓï¾ä´¦ÀíµÄ¸÷¸ö½×¶Î

[B]DMLÓï¾äµÄ´¦Àí[/B]

±¾½Ú¸ø³öÒ»¸öÀý×ÓÀ´ËµÃ÷ÔÚDMLÓï¾ä´¦ÀíµÄ¸÷¸ö½×¶Îµ½µ×·¢ÉúÁËʲôÊÂÇé¡£

¼ÙÉèÄãʹÓÃPro*C³ÌÐòÀ´ÎªÖ¸¶¨²¿ÃŵÄËùÓÐÖ°Ô±Ôö¼Ó¹¤×Ê¡£³ÌÐòÒѾ­Á¬µ½ÕýÈ·µÄÓû§£¬Äã¿ÉÒÔÔÚÄãµÄ³ÌÐòÖÐǶÈëÈçϵÄSQLÓï¾ä£º

EXEC SQL UPDATE employees SET salary = 1.10 * salary

WHERE department_id = :var_department_id;

var_department_idÊdzÌÐò±äÁ¿£¬ÀïÃæ°üº¬²¿Ãźţ¬ÎÒÃÇÒªÐ޸ĸò¿ÃŵÄÖ°Ô±µÄ¹¤×Ê¡£µ±Õâ¸öSQLÓï¾äÖ´ÐÐʱ£¬Ê¹ÓøñäÁ¿µÄÖµ¡£ ÿÖÖÀàÐ͵ÄÓï¾ä¶¼ÐèÒªÈçϽ׶Σº

¡¤ µÚ1²½: Create a Cursor ´´½¨ÓÎ±ê ¡¤ µÚ2²½: Parse the Statement ·ÖÎöÓï¾ä ¡¤ µÚ5²½: Bind Any Variables °ó¶¨±äÁ¿ ¡¤ µÚ7²½: Run the Statement ÔËÐÐÓï¾ä ¡¤ µÚ9²½: Close the Cursor ¹Ø±ÕÓαê Èç¹ûʹÓÃÁ˲¢Ðй¦ÄÜ£¬»¹»á°üº¬ÏÂÃæÕâ¸ö½×¶Î£º

¡¤ µÚ6²½: Parallelize the Statement ²¢ÐÐÖ´ÐÐÓï¾ä Èç¹ûÊDzéѯÓï¾ä£¬ÔòÐèÒªÒÔϼ¸¸ö¶îÍâµÄ²½Ö裬Èçͼ 3Ëùʾ£º ¡¤ µÚ3²½: Describe Results of a Query ÃèÊö²éѯµÄ½á¹û¼¯ ¡¤ µÚ4²½: Define Output of a Query ¶¨Òå²éѯµÄÊä³öÊý¾Ý ¡¤ µÚ8²½: Fetch Rows of a Query È¡²éѯ³öÀ´µÄÐÐ

ÏÂÃæ¾ßÌå˵һÏÂÿһ²½Öж¼·¢ÉúÁËʲôÊÂÇ飺. [B]µÚ1²½: ´´½¨Óαê(Create a Cursor)[/B]

ÓɳÌÐò½Ó¿Úµ÷Óô´½¨Ò»¸öÓα꣨cursor£©¡£ÈκÎSQLÓï¾ä¶¼»á´´½¨Ëü£¬ÌرðÔÚÔËÐÐDMLÓï¾äʱ£¬¶¼ÊÇ×Ô¶¯´´½¨ÓαêµÄ£¬²»ÐèÒª¿ª·¢ÈËÔ±¸ÉÔ¤¡£¶àÊýÓ¦ÓÃÖУ¬ÓαêµÄ´´½¨ÊÇ×Ô¶¯µÄ¡£È»¶ø£¬ÔÚÔ¤±àÒë³ÌÐò(pro*c)ÖÐÓαêµÄ´´½¨£¬¿ÉÄÜÊÇÒþº¬µÄ£¬Ò²¿ÉÄÜÏÔʽµÄ´´½¨¡£ÔÚ´æ´¢¹ý³ÌÖÐÒ²ÊÇÕâÑùµÄ¡£

[B]µÚ2²½:·ÖÎöÓï¾ä(Parse the Statement)[/B]

ÔÚÓï·¨·ÖÎöÆÚ¼ä£¬SQLÓï¾ä´ÓÓû§½ø³Ì´«Ë͵½Oracle£¬SQLÓï¾ä¾­Óï·¨·ÖÎöºó£¬SQLÓï¾ä±¾ÉíÓë·ÖÎöµÄÐÅÏ¢¶¼±»×°Èëµ½¹²ÏíSQLÇø¡£Ôڸý׶ÎÖУ¬¿ÉÒÔ½â¾öÐí¶àÀàÐ͵ĴíÎó¡£

Óï·¨·ÖÎö·Ö±ðÖ´ÐÐÏÂÁвÙ×÷£º

l ·­ÒëSQLÓï¾ä£¬ÑéÖ¤ËüÊǺϷ¨µÄÓï¾ä£¬¼´ÊéдÕýÈ· l ʵÏÖÊý¾Ý×ÖµäµÄ²éÕÒ£¬ÒÔÑéÖ¤ÊÇ·ñ·ûºÏ±íºÍÁе͍Òå

l ÔÚËùÒªÇóµÄ¶ÔÏóÉÏ»ñÈ¡Óï·¨·ÖÎöËø£¬Ê¹µÃÔÚÓï¾äµÄÓï·¨·ÖÎö¹ý³ÌÖв»¸Ä±äÕâЩ¶ÔÏóµÄ¶¨Òå l Ñé֤Ϊ´æÈ¡ËùÉæ¼°µÄģʽ¶ÔÏóËùÐèµÄȨÏÞÊÇ·ñÂú×ã l ¾ö¶¨´ËÓï¾ä×î¼ÑµÄÖ´Ðмƻ® l ½«Ëü×°Èë¹²ÏíSQLÇø

l ¶Ô·Ö²¼µÄÓï¾äÀ´Ëµ£¬°ÑÓï¾äµÄÈ«²¿»ò²¿·Ö·Óɵ½°üº¬ËùÉæ¼°Êý¾ÝµÄÔ¶³Ì½Úµã ÒÔÉÏÈκÎÒ»²½³öÏÖ´íÎ󣬶¼½«µ¼ÖÂÓï¾ä±¨´í£¬ÖÐÖ¹Ö´ÐС£

Ö»ÓÐÔÚ¹²Ïí³ØÖв»´æÔڵȼÛSQLÓï¾äµÄÇé¿öÏ£¬²Å¶ÔSQLÓï¾ä×÷Óï·¨·ÖÎö¡£ÔÚÕâÖÖÇé¿öÏ£¬Êý¾Ý¿âÄÚºËÖØÐÂΪ¸ÃÓï¾ä·ÖÅäÐµĹ²ÏíSQLÇø£¬²¢¶ÔÓï¾ä½øÐÐÓï·¨·ÖÎö¡£½øÐÐÓï·¨·ÖÎöÐèÒªºÄ·Ñ½Ï¶àµÄ×ÊÔ´£¬ËùÒÔÒª¾¡Á¿±ÜÃâ½øÐÐÓï·¨·ÖÎö£¬ÕâÊÇÓÅ»¯µÄ¼¼ÇÉÖ®Ò»¡£

Óï·¨·ÖÎö½×¶Î°üº¬Á˲»¹Ü´ËÓï¾ä½«Ö´ÐжàÉٴΣ¬¶øÖ»Ðè·ÖÎöÒ»´ÎµÄ´¦ÀíÒªÇó¡£OracleÖ»¶Ôÿ¸öSQLÓï¾ä·­ÒëÒ»´Î£¬ÔÚÒÔºóÔÙ´ÎÖ´ÐиÃÓï¾äʱ£¬Ö»Òª¸ÃÓï¾ä»¹ÔÚ¹²ÏíSQLÇøÖУ¬¾Í¿ÉÒÔ±ÜÃâ¶Ô¸ÃÓï¾äÖØÐ½øÐÐÓï·¨·ÖÎö£¬Ò²¾ÍÊÇ´Ëʱ¿ÉÒÔÖ±½ÓʹÓÃÆä¶ÔÓ¦µÄÖ´Ðмƻ®¶ÔÊý¾Ý½øÐдæÈ¡¡£ÕâÖ÷ÒªÊÇͨ¹ý°ó¶¨±äÁ¿(bind variable)ʵÏֵģ¬Ò²¾ÍÊÇÎÒÃdz£ËµµÄ¹²ÏíSQL£¬ºóÃæ»á¸ø³ö¹²ÏíSQLµÄ¸ÅÄî¡£

ËäÈ»Óï·¨·ÖÎöÑéÖ¤ÁËSQLÓï¾äµÄÕýÈ·ÐÔ£¬µ«Óï·¨·ÖÎöÖ»ÄÜʶ±ðÔÚSQLÓï¾äÖ´ÐÐ֮ǰËùÄÜ·¢ÏֵĴíÎó(ÈçÊéд´íÎó¡¢È¨ÏÞ²»×ãµÈ)¡£Òò´Ë£¬ÓÐЩ´íÎóͨ¹ýÓï·¨·ÖÎöÊÇ×¥²»µ½µÄ¡£ÀýÈ磬ÔÚÊý¾Ýת»»ÖеĴíÎó»òÔÚÊý¾ÝÖÐµÄ´í£¨ÈçÆóͼÔÚÖ÷¼üÖвåÈëÖØ¸´µÄÖµ£©ÒÔ¼°ËÀËøµÈ¾ùÊÇÖ»ÓÐÔÚÓï¾äÖ´ÐÐ½×¶ÎÆÚ¼ä²ÅÄÜÓöµ½ºÍ±¨¸æµÄ´íÎó»òÇé¿ö¡£

[B]²éѯÓï¾äµÄ´¦Àí[/B]

²éѯÓëÆäËüÀàÐ͵ÄSQLÓï¾ä²»Í¬£¬ÒòΪÔڳɹ¦Ö´Ðкó×÷Ϊ½á¹û½«·µ»ØÊý¾Ý¡£ÆäËüÓï¾äÖ»ÊǼòµ¥µØ·µ»Ø³É¹¦»òʧ°Ü£¬¶ø²éѯÔòÄÜ·µ»ØÒ»ÐлòÐí¶àÐÐÊý¾Ý¡£²éѯµÄ½á¹û¾ù²ÉÓñí¸ñÐÎʽ£¬½á¹ûÐб»Ò»´ÎÒ»ÐлòÕßÅúÁ¿µØ±»¼ìË÷³öÀ´¡£´ÓÕâÀïÎÒÃÇ¿ÉÒÔµÃÖªÅúÁ¿µÄfetchÊý¾Ý¿ÉÒÔ½µµÍÍøÂ翪Ïú£¬ËùÒÔÅúÁ¿µÄfetchÒ²ÊÇÓÅ»¯µÄ¼¼ÇÉÖ®Ò»¡£

ÓÐЩÎÊÌâÖ»Óë²éѯ´¦ÀíÏà¹Ø£¬²éѯ²»½ö½öÖ¸SELECTÓï¾ä£¬Í¬ÑùÒ²°üÀ¨ÔÚÆäËüSQLÓï¾äÖеÄÒþº¬²éѯ¡£ÀýÈ磬ÏÂÃæµÄÿ¸öÓï¾ä¶¼ÐèÒª°Ñ²éѯ×÷ΪËüÖ´ÐеÄÒ»²¿·Ö£º INSERT INTO table SELECT... UPDATE table SET x = y WHERE... DELETE FROM table WHERE... CREATE table AS SELECT... ¾ßÌåÀ´Ëµ£¬²éѯ ¡¤ ÒªÇó¶ÁÒ»ÖÂÐÔ

¡¤ ¿ÉÄÜʹÓûعö¶Î×÷Öм䴦Àí

¡¤ ¿ÉÄÜÒªÇóSQLÓï¾ä´¦ÀíÃèÊö¡¢¶¨ÒåºÍÈ¡Êý¾Ý½×¶Î

[B]µÚ3²½: ÃèÊö²éѯ½á¹û(Describe Results of a Query)[/B]

ÃèÊö½×¶ÎÖ»ÓÐÔÚ²éѯ½á¹ûµÄ¸÷¸öÁÐÊÇδ֪ʱ²ÅÐèÒª£»ÀýÈ磬µ±²éѯÓÉÓû§½»»¥µØÊäÈëÐèÒªÊä³öµÄÁÐÃû¡£ÔÚÕâÖÖÇé¿öÒªÓÃÃèÊö½×¶ÎÀ´¾ö¶¨²éѯ½á¹ûµÄÌØÕ÷£¨Êý¾ÝÀàÐÍ£¬³¤¶ÈºÍÃû×Ö£©¡£

[/B]µÚ4²½: ¶¨Òå²éѯµÄÊä³öÊý¾Ý(Define Output of a Query) [/B]

ÔÚ²éѯµÄ¶¨Òå½×¶Î£¬ÄãÖ¸¶¨Óë²éѯ³öµÄÁÐÖµ¶ÔÓ¦µÄ½ÓÊÕ±äÁ¿µÄλÖᢴóСºÍÊý¾ÝÀàÐÍ£¬ÕâÑùÎÒÃÇͨ¹ý½ÓÊÕ±äÁ¿¾Í¿ÉÒԵõ½²éѯ½á¹û¡£Èç¹û±ØÒªµÄ»°£¬Oracle»á×Ô¶¯ÊµÏÖÊý¾ÝÀàÐ͵Äת»»¡£ÕâÊǽ«½ÓÊÕ±äÁ¿µÄÀàÐÍÓë¶ÔÓ¦µÄÁÐÀàÐÍÏà±È½Ï¾ö¶¨µÄ¡£

[B]µÚ5²½: °ó¶¨±äÁ¿(Bind Any Variables)[/B]

´Ëʱ£¬OracleÖªµÀÁËSQLÓï¾äµÄÒâ˼£¬µ«ÈÔûÓÐ×ã¹»µÄÐÅÏ¢ÓÃÓÚÖ´ÐиÃÓï¾ä¡£Oracle ÐèÒªµÃµ½ÔÚÓï¾äÖÐÁгöµÄËùÓбäÁ¿µÄÖµ¡£ÔÚ¸ÃÀýÖУ¬OracleÐèÒªµÃµ½¶Ôdepartment_idÁнøÐÐÏÞ¶¨µÄÖµ¡£µÃµ½Õâ¸öÖµµÄ¹ý³Ì¾Í½Ð°ó¶¨±äÁ¿(binding variables)

´Ë¹ý³Ì³ÆÖ®Îª½«±äÁ¿ÖµÀ¦°ó½øÀ´¡£³ÌÐò±ØÐëÖ¸³ö¿ÉÒÔÕÒµ½¸ÃÊýÖµµÄ±äÁ¿Ãû£¨¸Ã±äÁ¿±»³ÆÎªÀ¦°ó±äÁ¿£¬±äÁ¿ÃûʵÖÊÉÏÊÇÒ»¸öÄÚ´æµØÖ·£¬Ï൱ÓÚÖ¸Õ룩¡£Ó¦ÓõÄ×îÖÕÓû§¿ÉÄܲ¢Ã»Óз¢¾õËûÃÇÕýÔÚÖ¸¶¨À¦°ó±äÁ¿£¬ÒòΪOracle µÄ³ÌÐò¿ÉÄÜÖ»ÊǼòµ¥µØÖ¸Ê¾ËûÃÇÊäÈëеÄÖµ£¬ÆäʵÕâÒ»Çж¼ÔÚ³ÌÐòÖÐ×Ô¶¯×öÁË¡£

ÒòΪÄãÖ¸¶¨Á˱äÁ¿Ãû£¬ÔÚÄãÔÙ´ÎÖ´ÐÐ֮ǰÎÞÐëÖØÐÂÀ¦°ó±äÁ¿¡£Äã¿ÉÒԸıä°ó¶¨±äÁ¿µÄÖµ£¬¶øOracleÔÚÿ´ÎÖ´ÐÐʱ£¬½ö½öʹÓÃÄÚ´æµØÖ·À´²éÕÒ´ËÖµ¡£

Èç¹ûOracle ÐèҪʵÏÖ×Ô¶¯Êý¾ÝÀàÐÍת»»µÄ»°£¨³ý·ÇËüÃÇÊÇÒþº¬µÄ»òȱʡµÄ£©£¬Ä㻹±ØÐë¶Ôÿ¸öÖµÖ¸¶¨Êý¾ÝÀàÐͺͳ¤¶È¡£¹ØÓÚÕâЩÐÅÏ¢¿ÉÒԲο¼oracleµÄÏà¹ØÎĵµ£¬ÈçOracle Call Interface Programmer's Guide

[B]µÚ6²½: ²¢ÐÐÖ´ÐÐÓï¾ä(Parallelize the Statement )[/B]

ORACLE ¿ÉÒÔÔÚSELECTs, INSERTs, UPDATEs, MERGEs, DELETEsÓï¾äÖÐÖ´ÐÐÏàÓ¦²¢Ðвéѯ²Ù×÷£¬¶ÔÓÚijЩDDL²Ù×÷£¬Èç´´½¨Ë÷Òý¡¢ÓÃ×Ó²éѯ´´½¨±í¡¢ÔÚ·ÖÇø±íÉϵIJÙ×÷£¬Ò²¿ÉÒÔÖ´Ðв¢ÐвÙ×÷¡£²¢Ðл¯¿ÉÒÔµ¼Ö¶à¸ö·þÎñÆ÷½ø³Ì(oracle server processes)Ϊͬһ¸öSQLÓï¾ä¹¤×÷£¬Ê¹¸ÃSQLÓï¾ä¿ÉÒÔ¿ìËÙÍê³É£¬µ«ÊÇ»áºÄ·Ñ¸ü¶àµÄ×ÊÔ´£¬ËùÒÔ³ý·ÇºÜÓбØÒª£¬·ñÔò²»ÒªÊ¹Óò¢Ðвéѯ¡£

[B]µÚ7²½: Ö´ÐÐÓï¾ä(Run the Statement)[/B]

µ½ÁËÏÖÔÚÕâ¸öʱºò£¬OracleÓµÓÐËùÓÐÐèÒªµÄÐÅÏ¢Óë×ÊÔ´£¬Òò´Ë¿ÉÒÔÕæÕýÔËÐÐSQLÓï¾äÁË¡£Èç¹û¸ÃÓï¾äΪSELECT²éѯ»òINSERTÓï¾ä£¬Ôò²»ÐèÒªËø¶¨ÈκÎÐУ¬ÒòΪûÓÐÊý¾ÝÐèÒª±»¸Ä±ä¡£È»¶ø£¬Èç¹ûÓï¾äΪUPDATE»òDELETEÓï¾ä£¬Ôò¸ÃÓï¾äÓ°ÏìµÄËùÓÐÐж¼±»Ëø¶¨£¬·ÀÖ¹¸ÃÓû§Ìá½»»ò»Ø¹ö֮ǰ£¬±ðµÄÓû§¶ÔÕâЩÊý¾Ý½øÐÐÐ޸ġ£Õâ±£Ö¤ÁËÊý¾ÝµÄÒ»ÖÂÐÔ¡£

¶ÔÓÚijЩÓï¾ä£¬Äã¿ÉÒÔÖ¸¶¨Ö´ÐеĴÎÊý£¬Õâ³ÆÎªÅú´¦Àí(array processing)¡£Ö¸¶¨Ö´ÐÐN´Î£¬Ôò°ó¶¨±äÁ¿Ó붨Òå±äÁ¿±»¶¨ÒåΪ´óСΪNµÄÊý×éµÄ¿ªÊ¼Î»Öã¬ÕâÖÖ·½·¨¿ÉÒÔ¼õÉÙÍøÂ翪Ïú£¬Ò²ÊÇÓÅ»¯µÄ¼¼ÇÉÖ®Ò»¡£

[B]µÚ8²½: È¡³ö²éѯµÄÐÐ(Fetch Rows of a Query)[/B]

ÔÚfetch½×¶Î£¬ÐÐÊý¾Ý±»È¡³öÀ´£¬Ã¿¸öºóÐøµÄ´æÈ¡²Ù×÷¼ìË÷½á¹û¼¯ÖеÄÏÂÒ»ÐÐÊý¾Ý£¬Ö±µ½×îºóÒ»Ðб»È¡³öÀ´¡£ÉÏÃæÌáµ½¹ý£¬ÅúÁ¿µÄfetchÊÇÓÅ»¯µÄ¼¼ÇÉÖ®Ò»¡£

[B]µÚ9²½: ¹Ø±ÕÓαê(Close the Cursor)[/B] SQLÓï¾ä´¦ÀíµÄ×îºóÒ»¸ö½×¶Î¾ÍÊǹرÕÓαê

[B]DDLÓï¾äµÄ´¦Àí(DDL Statement Processing)[/B]

DDLÓï¾äµÄÖ´Ðв»Í¬ÓëDMLÓï¾äºÍ²éѯÓï¾äµÄÖ´ÐУ¬ÕâÊÇÒòΪDDLÓï¾äÖ´Ðгɹ¦ºóÐèÒª¶ÔÊý¾Ý×ÖµäÊý¾Ý½øÐÐÐ޸ġ£¶ÔÓÚDDLÓï¾ä£¬Óï¾äµÄ·ÖÎö½×¶Îʵ¼ÊÉϰüÀ¨·ÖÎö¡¢²éÕÒÊý¾Ý×ÖµäÐÅÏ¢ºÍÖ´ÐС£

ÊÂÎñ¹ÜÀíÓï¾ä¡¢»á»°¹ÜÀíÓï¾ä¡¢ÏµÍ³¹ÜÀíÓï¾äÖ»ÓзÖÎöÓëÖ´Ðн׶Σ¬ÎªÁËÖØÐÂÖ´ÐиÃÓï¾ä£¬»áÖØÐ·ÖÎöÓëÖ´ÐиÃÓï¾ä¡£