Oracle 10g ÒªµãÕûÀí Ö® ¹ý³Ì¡¢º¯Êý¡¢³ÌÐò°ü¡¢´¥·¢Æ÷
¹ý³Ì¡¢º¯Êý¡¢³ÌÐò°ü¡¢´¥·¢Æ÷
1 ¹ý³Ì
£¨1£©¶¨ÒåÓï·¨
create [or replace ] procedure ¹ý³ÌÃû
[(²ÎÊý1 [in | out | in out] ²ÎÊýÀàÐÍ£¬
²ÎÊý2 [in | out | in out] ²ÎÊýÀàÐÍ£¬
……)]
is | as
begin
Ö´Ðв¿·Ö
exception
Òì³£´¦Àí²¿·Ö
end [¹ý³ÌÃû];
¹ý³ÌÖÐûÓÐdeclare²¿·Ö£¬ÉùÃ÷²¿·ÖÔÚbegin֮ǰ¡£
£¨2£©µ÷ÓÃÓï·¨
Óû§¼È¿ÉÒÔ´ÓÄäÃûµÄPL/SQL³ÌÐò¿éÖе÷Óã¬Ò²¿ÉÒÔÔÚSQL*PlusÖÐʹÓÃexecº¯Êý +¹ý³ÌÃûÀ´µ÷Óá£
Ö´Ðйý³ÌÖл¹Éè¼Æµ½È¨ÏÞÎÊÌ⣬¹ý³ÌµÄȨÏÞÊÇexecute£¬Ê¹ÓÃÏÂÁÐÓï¾ä½øÐÐÊÚȨ£º
grant execute on ¹ý³ÌÃû to Óû§Ãû£»
ÔÚSQL*PLUSÖе÷ÓÃ
EXEC procedure_name(parameter_list)
EXECUTE show_emp(10)
ÔÚPL/SQL¿éÖе÷ÓÃ
BEGIN
procedure_name(parameter_list);
END£»
£¨3£©Ê¹ÓòÎÊý
¢Ù ²ÎÊýģʽ
in£ºÊäÈë²ÎÊý£¬Óɹý³Ì¶ÁÈ¡
out£ºÊä³ö²ÎÊý£¬Óɹý³ÌдÈ룬¸Ã²ÎÊýÊʺÏÓÃÓÚ¹ý³ÌÏòµ÷ÓÃÕß·µ»Ø¶à¸öÐÅÏ¢¡£
in out£º¹ý³ÌÓÃÀ´¶ÁÈ¡ºÍдÈëËüÃǵÄÖµ¡£
¢Ú ²ÎÊý´«µÝ
ÔÚOracleÖУ¬¿ÉÒÔʹÓÃÈýÖÖ·½Ê½´«µÝ²ÎÊý£¬¼´Ê¹ÓÃÃû³Æ±íʾ·¨£¬Ê¹ÓÃλÖñíʾ·¨£¬Ê¹ÓûìºÏ±íʾ·¨¡£
A ʹÓÃÃû³Æ±íʾ·¨£º
¹ý³ÌÃû£¨²ÎÊýÃû => Öµ£¬……£©
²ÎÊýµÄʹÓôÎÐòºÍÉùÃ÷´ÎÐò¿ÉÒÔ²»Ò»Ñù¡£
B ʹÓÃλÖñíʾ·¨£º
¹ý³ÌÃû£¨²ÎÊýÖµ1£¬²ÎÊýÖµ2£¬……£©
»ùÓÚ²ÎÊýÔÚ¹ý³ÌÖж¨ÒåµÄ´ÎÐò½øÐд«µÝ¡£
C ʹÓûìºÏ±íʾ·¨£º
¹ý³ÌÃû£¨²ÎÊýÃû => Öµ£¬²ÎÊýÖµ£¬……£©
¢Û out²ÎÊý
±ØÐëÔÚÖ´Ðйý³Ìǰ£¬¸ù¾Ý¹ý³Ì½«·µ»ØµÄ²ÎÊý¸öÊý£¬Ïȶ¨ÒåÏàÓ¦µÄ±äÁ¿¼°ÕýÈ·µÄ±äÁ¿ÀàÐÍÀ´½ÓÊÕ·µ»ØÖµ¡£
±ÈÈç˵¶¨ÒåÁËÁ½¸ö±äÁ¿AºÍB£¬ÄÇôA¡¢BÓÃÀ´½ÓÊÕ·µ»ØÖµµÄÓ÷¨ÊÇ£º
exec ¹ý³ÌÃû£¨:A, :B£©;
ΪÁ˲鿴AºÍBµÄÖµ£¬¿ÉÒÔʹÓÃprintÃüÁî
print A£»
print B£»
£¨4£©¹ý³ÌµÄ¹ÜÀí
¢Ù Ð޸Ĵ洢¹ý³Ì
CREATE OR REPLACE PROCEDURE
¢Ú ÖØÐ±àÒë´æ´¢¹ý³Ì
ALTER PROCEDURE procedure_name COMPILE£»
¢Û ɾ³ý´æ´¢¹ý³Ì
DROP PROCEDURE procedure_nameÃû£»
¢Ü ²é¿´¹ý³ÌÔ´´úÂë
select text from user_source where name=procedure_name ;
2 º¯Êý
£¨1£©¸ÅÊö
º¯ÊýºÍ¹ý³ÌºÜÀàËÆ£¬ÊÇÊý¾Ý¿âÖд洢µÄÃüÃûPL/SQL³ÌÐò¿é¡£
´´½¨º¯ÊýÓë´´½¨¹ý³ÌµÄ¹æÔòÒ»Ñù¡£
º¯ÊýÓë¹ý³ÌµÄ°²È«·½Ê
Ïà¹ØÎĵµ£º
ÒªÕÒOracle 9i for LinuxͦÂé·³µÄ£¬¸É´à×Ô¼ºÁô¸ö¼Ç¼±È½Ï·½±ã¡£
Oracle9i Database Release 2 Enterprise/Standard/Personal Edition for Windows NT/2000/XP
http://download.oracle.com/otn/nt/oracle9i/9201/92010NT_Disk1.zip
http://download.oracle.com/otn/nt/oracle9i/9201/92010NT_Disk2.zip
http://downlo ......
OracleÌṩÁ½ÖÖÑéÖ¤·½Ê½£¬Ò»ÖÖÊÇOSÑéÖ¤£¬ÁíÒ»ÖÖÃÜÂëÎļþÑéÖ¤·½Ê½£¬Èç¹ûÊǵÚÒ»ÖÖ·½Ê½ÓÃÒÔÏ·½·¨ÐÞ¸ÄÃÜÂ룺
¡¡¡¡sqlplus / as sysdba
¡¡¡¡alter user sys identified by ÐÂÃÜÂë;
¡¡¡¡alter user system identified by ÐÂÃÜÂë;
¡¡¡¡Èç¹ûÊǵڶþÖÖ·½·¨ÓÃÒÔÏ·½·¨ÐÞ¸ÄÃÜÂ룺
¡¡¡¡orapwd file=pwdxxx.ora password=ÄãÉ趨µÄÐ ......
ÔÚJ2EEÓ¦ÓóÌÐò¿ª·¢ÖУ¬Ó¦ÓóÌÐòÓëÊý¾Ý¿âÁ¬½ÓµÄ½¨Á¢ÊÇÎÒÃǾ³£Óöµ½µÄÎÊÌâÖ®Ò»¡£ÔÚÕâÀïÎÒÖ÷Ҫ̸̸ÔÚ±¾µØÓ¦ÓóÌÐòÖÐͨ¹ýOCI·½Ê½¡¢thin·½Ê½ºÍJdbcOdbcÇÅ·½Ê½Á¬½ÓOracleÊý¾Ý¿â£¬ÔÚiPlanet Application Server 6.5ºÍSun ONE Application Server 7ÖжÔOracleÊý¾Ý¿âÁ¬½Ó³ØµÄÅäÖÃÒÔ¼°Ó¦ÓÃÖÐÈçºÎ´ÓÁ¬½Ó³ØÖлñµÃÁ¬½Ó¡£
Ò»¡¢±¾µØÍ¨¹ýJ ......
OracleÐÔÄÜÓÅ»¯ÓëDelphi´úÂë
¸ÕѧÁ˵ãoracle·½ÃæµÄ֪ʶ£¬¸Ð¾õÒÔǰд´úÂëֻƾϲºÃд£¬ÍêȫûÓÐÉԵÓÉ£¬µ¼ÖÂÔÚÄÚÐÐÈË¿´À´£¬Ð´µÄ¶¼ÊÇÀ¬»ø´úÂ룬ÏÖÔھͰÑѧµ½µÄһЩ¶«Î÷д³öÀ´£¬Ò²ËãÊǸø¸ÕÈëÃŵÄÅóÓÑÒ»µã°ïÖú°É¡£
ÒÔǰ£¬Ð´Êý¾Ý¿â·ÃÎÊ´úÂ룬¸Ð¾õºÜ¼òµ¥£¬²»¾ÍÊÇsqlÓï¾äÂËùÒÔʲôÓï¾ä¶¼ÊÇÕâÑùд£º
A£º
......
OracleÊý¾Ýµ¼Èëµ¼³öimp/exp¾ÍÏ൱ÓÚoracleÊý¾Ý»¹ÔÓ뱸·Ý¡£expÃüÁî¿ÉÒÔ°ÑÊý¾Ý´ÓÔ¶³ÌÊý¾Ý¿â·þÎñÆ÷µ¼³öµ½±¾µØµÄdmpÎļþ£¬impÃü Áî¿ÉÒÔ°ÑdmpÎļþ´Ó±¾µØµ¼Èëµ½Ô¶´¦µÄÊý¾Ý¿â·þÎñÆ÷ÖС£ ÀûÓÃÕâ¸ö¹¦ÄÜ¿ÉÒÔ¹¹½¨Á½¸öÏàͬµÄÊý¾Ý¿â£¬Ò»¸öÓÃÀ´²âÊÔ£¬Ò»¸öÓÃÀ´ÕýʽʹÓá£
¡¡¡¡Ö´Ðл·¾³£º¿ÉÒÔÔÚSQLPLUS.EXE»òÕßDOS£¨ÃüÁîÐУ©ÖÐÖ´ÐУ¬
¡¡ ......