ÈçºÎ±àдoracle´æ´¢¹ý³Ì
ÔÚÎÒµÄÉÏÒ»¸öÒøÐÐÏîÄ¿ÖУ¬ÎÒ½Óµ½±àдORACLE´æ´¢¹ý³ÌµÄÈÎÎñ£¬ÎÒÊdzÌÐòÔ±£¬ÄÔ´üÀïÖ»ÓÐһЩÈçºÎʹÓÃCALLABLE½Ó¿Úµ÷Óô洢¹ý³ÌµÄ¾Ñ飬һʱ²»ÖªÈçºÎÏÂÊÖ£¬ÎÒ²éÔÄÁËһЩ×ÊÁÏ£¬Í¨¹ýʵ¼ù·¢ÏÖ±àдORACLE´æ´¢¹ý³ÌÊǷdz£²»ÈÝÒ׵Ť×÷£¬¼´Ê¹ÉÏ·ÒԺ󣬵÷ÊÔºÍÑéÖ¤·Ç³£Âé·³¡£¼òµ¥µØ½²£¬Oracle´æ´¢¹ý³Ì¾ÍÊÇ´æ´¢ÔÚOracleÊý¾Ý¿âÖеÄÒ»¸ö³ÌÐò¡£
¡¡¡¡Ò». ¸ÅÊö
¡¡¡¡Oracle´æ´¢¹ý³Ì¿ª·¢µÄÒªµãÊÇ£º
¡¡¡¡• ʹÓÃNotepadÎı¾±à¼Æ÷£¬ÓÃOracle PL/SQL±à³ÌÓïÑÔдһ¸ö´æ´¢¹ý³Ì;
¡¡¡¡• ÔÚOracleÊý¾Ý¿âÖд´½¨Ò»¸ö´æ´¢¹ý³Ì;
¡¡¡¡• ÔÚOracleÊý¾Ý¿âÖÐʹÓÃSQL*Plus¹¤¾ßÔËÐд洢¹ý³Ì;
¡¡¡¡• ÔÚOracleÊý¾Ý¿âÖÐÐ޸Ĵ洢¹ý³Ì;
¡¡¡¡• ͨ¹ý±àÒë´íÎóµ÷ÊÔ´æ´¢¹ý³Ì;
¡¡¡¡• ɾ³ý´æ´¢¹ý³Ì;
¡¡¡¡¶þ.»·¾³ÅäÖÃ
¡¡¡¡°üÀ¨ÒÔÏÂÄÚÈÝ£º
¡¡¡¡• Ò»¸öÎı¾±à¼Æ÷Notepad;
¡¡¡¡• Oracle SQL*Plus¹¤¾ß£¬Ìá½»Oracle SQLºÍPL/SQL Óï¾äµ½Oracle database¡£
¡¡¡¡• Oracle 10g expressÊý¾Ý¿â£¬ËüÊÇÃâ·ÑʹÓõİ汾;
¡¡¡¡ÐèÒªµÄ¼¼ÇÉ£º
¡¡¡¡• SQL»ù´¡ÖªÊ¶,°üÀ¨²åÈë¡¢Ð޸ġ¢É¾³ýµÈ
¡¡¡¡• ʹÓÃOracle's SQL*Plus¹¤¾ßµÄ»ù±¾¼¼ÇÉ;
¡¡¡¡• ʹÓÃOracle's PL/SQL ±à³ÌÓïÑԵĻù±¾¼¼ÇÉ;
¡¡¡¡Èý.дһ¸ö´æ´¢¹ý³Ì
¡¡¡¡´æ´¢¹ý³ÌʹÓÃOracle's PL/SQL ³ÌÐòÓïÑÔ±àд£¬ÈÃÎÒÃÇдһ¸öʲô¹¤×÷¶¼²»×öµÄ´æ´¢¹ý³Ì£¬ÎÒÃÇ¿ÉÒÔ±àÒëºÍÔËÐÐËü¶ø²»Óõ£ÐÄ»á¶ÔÊý¾Ý¿â²úÉúÈκÎË𺦡£
¡¡¡¡ÔÚNotepad, дÏ£º
¡¡¡¡CREATE OR REPLACE PROCEDURE skeleton
¡¡¡¡IS
¡¡¡¡BEGIN
¡¡¡¡NULL;
¡¡¡¡END;
¡¡¡¡°ÑÎļþ´æÎªskeleton.sql.
¡¡¡¡ÈÃÎÒÃÇÒ»ÐÐÐбéÀúÕâ¸ö´æ´¢¹ý³Ì:
¡¡¡¡1 CREATE OR REPLACE PROCEDURE skeleton
¡¡¡¡2 IS
¡¡¡¡3 BEGIN
¡¡¡¡4 NULL;
¡¡¡¡5 END;
¡¡¡¡ÐÐ1:
¡¡¡¡CREATE OR REPLACE PROCEDURE ÊÇÒ»¸öSQLÓï¾ä֪ͨOracleÊý¾Ý¿âÈ¥´´½¨Ò»¸ö½Ð×öskeleton´æ´¢¹ý³Ì, Èç¹û´æÔھ͸²¸ÇËü;
¡¡¡¡ÐÐ2:
¡¡¡¡IS¹Ø¼ü´Ê±íÃ÷ºóÃæ½«¸úËæÒ»¸öPL/SQLÌå¡£
¡¡¡¡ÐÐ3:
¡¡¡¡BEGIN¹Ø¼ü´Ê±íÃ÷PL/SQLÌåµÄ¿ªÊ¼¡£
¡¡¡¡ÐÐ4:
¡¡¡¡NULL PL/SQLÓï¾ä±íÃ÷ʲôʶ¼²»×ö£¬Õâ¾ä²»ÄÜɾȥ£¬ÒòΪPL/SQLÌåÖÐÖÁÉÙÐèÒªÓÐÒ»¾ä;
¡¡¡¡ÐÐ5:
¡¡¡¡END¹Ø¼ü´Ê±íÃ÷PL/SQLÌåµÄ½áÊø
¡¡¡¡ËÄ.´´½¨Ò»¸ö´æ´¢¹ý³Ì
¡¡¡¡SQLÓï¾äCREATE OR REPLACE PROCEDUREÔÚOracleÊý¾Ý¿âÖд´½¨¡¢±àÒëºÍ±£´æÒ»¸ö´æ´¢¹ý³Ì¡£
¡¡¡¡´ÓWindow´ò¿ªSQL*Plus²¢ÇÒ´ÓSQL*PlusµÇ¼µ½ÄãµÄÊý¾Ý¿â;´ò¿ªskeleton.sqlÎļþ.
¡¡¡¡ÔÚSQL>ÃüÁîÌá
Ïà¹ØÎĵµ£º
ÓÉÓÚ֮ǰѧϰoracleµÄʱºò±È½ÏËæÒ⣬¿´ÊéÒ²ÊDZȽÏÉÙÈ¥ÉîÈë˼¿¼ÔÀí£¬¶ø´Óǰ¼¸Ìì¾ö¶¨ÒªÖØÐÂȼÆðoracleµÄѧϰ¼¤Çéºó£¬ÎÒÓÖÖØÐµĴӻù´¡Ñ§Æð£¬´ËʱÎÒѧoracleµÄÐÄ̬Ҳ±ÈÒÔǰºÃºÜ¶àÁË£¬ÏÖÔÚÊÇŬÁ¦µÄÒ»µãÒ»µãÈ¥¿ÐÁË£¬¼´Ê¹ºÜ»¨Ê±¼ä£¬µ«ÎÒÏëÕýÊÇͨ¹ý½ñÌìÎÒÕâÑùµÄÂñÍ·¿à¶Á²Å»á»»À´Óг¯Ò»ÈÕÔÚoracle·½ÃæµÄÖʵķÉÔ¾µÄ¡£
  ......
»ù±¾µÄSql±àдעÒâÊÂÏî
¾¡Á¿ÉÙÓÃIN²Ù×÷·û£¬»ù±¾ÉÏËùÓеÄIN²Ù×÷·û¶¼¿ÉÒÔÓÃEXISTS´úÌæ¡£
²»ÓÃNOT IN²Ù×÷·û£¬¿ÉÒÔÓÃNOT EXISTS»òÕßÍâÁ¬½Ó+Ìæ´ú¡£
OracleÔÚÖ´ÐÐIN×Ó²éѯʱ£¬Ê×ÏÈÖ´ÐÐ×Ó²éѯ£¬½«²éѯ½á¹û·ÅÈëÁÙʱ±íÔÙÖ´ÐÐÖ÷²éѯ¡£¶øEXISTÔòÊÇÊ×Ïȼì²éÖ÷²éѯ£¬È»ºóÔËÐÐ×Ó²éѯֱµ½ÕÒµ½
µÚÒ»¸öÆ¥ÅäÏî¡£NOT EXISTS±ÈNOT INЧÂÊÉ ......
¹«Ë¾Ê¹ÓÃlinux¿ª·¢»ú½øÐгÌÐò¿ª·¢Ê±£¬ÓÉÓÚ¿ª·¢ÓÃOracleÊý¾Ý¿âÊÇÓÉÈÕ·½Ìṩ£¬ËùÒÔ¾³£Ê¹ÓÃsqlplusÁ¬½Óµ½Ô¶³ÌÊý¾Ý¿âÉϽøÐпª·¢,ÀýÈ磺
sqlplus username/password@servicename
ÓÚÊÇÏ룬ÓÃÎÒµÄÁ½Ì¨µçÄÔË«»ú»¥ÁªÊÔÒ»ÊÔ£¬Ò²Íæ¸ö“Ô¶³ÌÁ¬½Ó”¡£ÊµÑéÈçÏ£º
Ê×ÏÈÔÚÎÒµĄ̈ʽ»úÉϰ²×°ÁËOracle9iµÄÊý¾Ý¿â¹ÜÀíϵͳ£¬ ......
µÚÒ»ÖÖ£º
select b.* from
( select a.*, rownum row_num from
(select t.* from A05_ORGANIZATION t order by org_name_en asc) a
) b
where b.row_num between 1 and 5 order by b.row_num asc
µÚ¶þÖÖ£¨¸ü¸ßЧ£©£º
select b.* from
( select a.*, rown ......
£¨Ò»£©Data blocks £¬Extents£¬Segment
Õâ¾ÍÊÇËûÃÇÖ®¼äµÄÂß¼½á¹¹¡£
ÏÈ¿´Data blocks£¨Ò²½ÐÂß¼¿é£¬oracle¿é£¬Ò³£©°É£¬oracle´æ´¢Êý¾Ý¶¼ÊÇÔÚÕâЩÊý¾Ý¿éÖУ¬Ò»¸öÊý¾Ý¿éÊÇ´ÅÅÌÉÏÊý¾Ý¿âÎïÀí¿Õ¼äһϵÁÐÎïÀí×Ö½ÚµÄ×é³É¡£
±ÈData blocks¸ü¸ßÒ»²ãµÄÂß¼Êý¾Ý¿é¿Õ¼äÊÇe ......