Oracle´æ´¢¹ý³Ì×ܽá
1¡¢´´½¨´æ´¢¹ý³Ì
create or replace procedure test(var_name_1 in type,var_name_2 out type) as
--ÉùÃ÷±äÁ¿(±äÁ¿Ãû ±äÁ¿ÀàÐÍ)
begin
--´æ´¢¹ý³ÌµÄÖ´ÐÐÌå
end test;
´òÓ¡³öÊäÈëµÄʱ¼äÐÅÏ¢
E.g:
create or replace procedure test(workDate in Date) is
begin
dbms_output.putline('The input date is:'||to_date(workDate,'yyyy-mm-dd'));
end test;
2¡¢±äÁ¿¸³Öµ
±äÁ¿Ãû := Öµ;
E.g£º
create or replace procedure test(workDate in Date) is
x number(4,2);
begin
x := 1;
end test;
3¡¢ÅжÏÓï¾ä:
if ±È½Ïʽ then begin end; end if;
E.g
create or replace procedure test(x in number) is
begin
if x >0 then
begin
x := 0 - x;
end;
end if;
if x = 0 then
begin
x: = 1;
end;
end if;
end test;
4¡¢For Ñ»·
For ... in ... LOOP
--Ö´ÐÐÓï¾ä
end LOOP;
(1)Ñ»·±éÀúÓαê
create or replace procedure test() as
Cursor cursor is select name from student; name varchar(20);
begin
for name in cursor LOOP
begin
dbms_output.putline(name);
end;
end LOOP;
end test;
(2)Ñ»·±éÀúÊý×é
create or replace procedure test(varArray in myPackage.TestArray) as
--(ÊäÈë²ÎÊývarArray ÊÇ×Ô¶¨ÒåµÄÊý×éÀàÐÍ£¬¶¨Ò巽ʽ¼û±êÌâ6)
i number;
begin
i := 1; --´æ´¢¹ý³ÌÊý×éÊÇÆðʼλÖÃÊÇ´Ó1¿ªÊ¼µÄ£¬Óëjava¡¢C¡¢C++µÈÓïÑÔ²»Í¬¡£ÒòΪÔÚOracleÖб¾ÊÇûÓÐÊý×éµÄ¸ÅÄîµÄ£¬Êý×éÆäʵ¾ÍÊÇÒ»ÕÅ
--±í(Table),ÿ¸öÊý×éÔªËؾÍÊDZíÖеÄÒ»¸ö¼Ç¼£¬ËùÒÔ±éÀúÊý×éʱ¾ÍÏ൱ÓÚ´Ó±íÖеĵÚÒ»Ìõ¼Ç¼¿ªÊ¼±éÀú
for i in 1..varArray.count LOOP
dbms_output.putline('The No.'|| i || 'record in varArray is:'||varArray(i));
end LOOP;
end test;
5¡¢While Ñ»·
whi
Ïà¹ØÎĵµ£º
ÎÒÃÇ´ó¼Ò¶¼ÖªµÀÿ¸öOracleÊý¾Ý¿â¶¼»áÓÐÒ»¸ö»òÊǶà¸öÎïÀíµÄOracleÊý¾ÝÎļþ,Êý¾Ý¿âÐÅÏ¢(½á¹¹,Êý¾Ý)µÄÖ÷Òª×÷ÓÃÊÇÀ´±£´æÔÚÕâЩÏà¹ØµÄÊý¾ÝÎļþ,¶øÇÒÖ»ÓÐÕâЩÏà¹ØµÄÎļþOracle²ÅÄܹ»½âÊÍÓë¹ÜÀíÕâЩ´æ´¢.OracleÊý¾ÝÎļþ¾ßÓÐÒÔÏÂһЩÌØÐÔ:
1.Ò»¸öÊý¾ÝÎļþ½ö½ö¹ØÁªÒ»¸öÊý¾Ý¿â,OracleÊý¾ÝÎļþÓëÊý¾Ý¿âÖ®¼ä¶ÔÓ¦¹ØϵÊÇÒ»¶ÔÒ»¹Øϵ,µ±È»· ......
TkprofÊÇÒ»¸öÓÃÓÚ·ÖÎöOracle¸ú×ÙÎļþ²¢ÇÒ²úÉúÒ»¸ö¸ü¼ÓÇåÎúºÏÀíµÄÊä³ö½á¹ûµÄ¿ÉÖ´Ðй¤¾ß¡£Èç¹ûÒ»¸öϵͳµÄÖ´ÐÐЧÂʱȽϵͣ¬Ò»¸ö±È½ÏºÃµÄ·½·¨ÊÇͨ¹ý¸ú×ÙÓû§µÄ»á»°²¢ÇÒʹÓÃTkprof¹¤¾ßʹÓÃÅÅÐò¹¦Äܸñʽ»¯Êä³ö£¬´Ó¶øÕÒ³öÓÐÎÊÌâµÄSQLÓï¾ä¡£
Ò». TKPROF ÃüÁîÓï·¨£º
TKPROF filename1, filename2  ......
Ò»£º»Ø¹ö¶Î¸ÅÊö
¡¡¡¡»Ø¹ö¶ÎÓÃÓÚ´æ·ÅÊý¾ÝÐÞ¸Ä֮ǰµÄÖµ£¨°üÀ¨Êý¾ÝÐÞ¸Ä֮ǰµÄλÖúÍÖµ£©¡£»Ø¹ö¶ÎµÄÍ·²¿°üº¬ÕýÔÚʹÓõĸûعö¶ÎÊÂÎñµÄÐÅÏ¢¡£Ò»¸öÊÂÎñÖ»ÄÜʹÓÃÒ»¸ö»Ø¹ö¶ÎÀ´´æ·ÅËüµÄ»Ø¹öÐÅÏ¢£¬¶øÒ»¸ö»Ø¹ö¶Î¿ÉÒÔ´æ·Å¶à¸öÊÂÎñµÄ»Ø¹öÐÅÏ¢¡£
»Ø¹ö¶ÎµÄ×÷ÓÃ
¡¡¡¡ÊÂÎñ»Ø¹ö£ºµ±ÊÂÎñÐ޸ıíÖÐÊý¾ÝµÄʱºò£¬¸ÃÊý¾ÝÐÞ¸ÄÇ°µÄÖµ£¨¼´Ç°Ó°Ïñ£ ......
[oracle@dba01 dbs]$ orapwd file=/oracle/app/oracle/product/10.2.0/db_1/dbs/orapworcl password=oracle entries=20 force=y
[oracle@dba01 dbs]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Sat May 29 13:07:10 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Con ......
רÓÐģʽ£º
ÔÚרÓзþÎñÆ÷ÅäÖÃÖУ¬OracleΪÿ¸öÁ¬½Óµ½·þÎñÆ÷µÃ¿Í»§»úÆô¶¯Ò»¸öרÓ÷þÎñÆ÷½ø³Ì¡£Ò»¸ö¿Í»§»úµÄרÓ÷þÎñÆ÷½ø³ÌֻΪ´Ë¿Í»§»ú¹¤×÷¡£¸÷רÓ÷þÎñÆ÷½ø³ÌÍêÈ«¶ÀÁ¢£¬ÎÞÐè¹²ÏíÊý¾Ý¡£ÔÚÓû§»á»°´æÔÚµÄÕû¸ö¹ý³ÌÖУ¬ÏàÓ¦µÄרÓ÷þÎñÆ÷½ø³ÌÒ»Ö±´æÔÚ£¬²»ÂÛÓû§ÊÇ·ñ»î¶¯¡£Ö±µ½Óû§»á»°ÖÕÖ¹ºó£¬¸ÃÓ¦ÓõÄרÓ÷þÎñÆ÷½ø³Ì²ÅÖÕÖ¹¡£ÔÚ ......