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
Ïà¹ØÎĵµ£º
What circumstances we use ALL_ROWS and what circumstances we use FIRST_ROWS optimizer mode? This article is written in oracle9i.
First_rows attempts to optimize the query to get the very first row back to the client as fast as possible. This is good for an interactive client server environment wher ......
ÔÚ¿ª·¢Ó¦ÓõÄʱºò£¬°ÑÊý¾Ý°´ÕÕÒ»¶¨µÄ¹æÔòÅÅÐòºóÔÙȡǰ¼¸ÌõÊý¾ÝÕâÖÖ²Ù×÷ÊÇºÜÆ½³£µÄÊÂÇé¡£ÎÒÃÇÔÚOracleÖг£ÓõľÍÊÇorder by£¬È»ºóÈ¡µÃrownumСÓÚ¶àÉÙµÄÊý¾ÝÕâÖÖ·½·¨¡£²»¹ýÈç¹û¶ÔOracle²»ÊìϤ£¬Ò²Ðí¾Í»á·¢ÏÖÄãдµÄSQLÓï¾ä¼ìË÷³öÀ´µÄÖµ²»ÕýÈ·£¬Õâ¸öÊÇÎªÊ²Ã´ÄØ¡£ ÒòΪOracleÔÚ¼ìË÷µÄʱºò£¬»áÊ×ÏȰÑÊý¾Ý¶¼¼ìË÷³öÀ´£¬È»ºóÔÚÅÅÐò¶Î ......
Ò»¡¢ÉèÖóõʼ»¯²ÎÊý job_queue_processes
¡¡¡¡sql> alter system set job_queue_processes=n;£¨n>0£©
¡¡¡¡job_queue_processes×î´óֵΪ1000
¡¡¡¡
¡¡¡¡²é¿´job queue ºǫ́½ø³Ì
¡¡¡¡sql>select name,description from v$bgprocess;
¡¡¡¡
¡¡¡¡¶þ£¬dbms_job package Ó÷¨½éÉÜ
¡¡¡¡°üº¬ÒÔÏÂ×Ó¹ý³Ì£º
¡¡¡¡
¡¡ ......
ÎÒÃdzõѧÕß°²×°oracleµÄʱºò£¬×Ö·û¼¯Ñ¡ÔñµÄÒ»°ãÊǼòÌåÖÐÎĵĸñʽ£¬Õâ·½±ãÎÒÃÇÓ¢ÎIJ»ºÃµÄ²ËÄñ£¬³ö´íµÄʱºò¶¨Î»´íÎ󣬵«ÊÇÓÐÒ»¸öÎÊÌâ°éËæ³öÏÖ£¬ÎÒÃÇд¹ØÓÚÈÕÆÚµÄsqlµÄÓï¾ä£¬ÎÒÃÇÏëÒªÓ¢ÎĵĸñʽÔõô°ì£¿ÏÂÃæÓÐÁ½¸ö°ì·¨£º
1. Á¬½Óµ½Êý¾Ý¿âºó£¬ÎÒÃÇʹÓÃÈçÏÂÓï¾ä
ALTER SESSION SET NLS_D ......
´¦Àí·½·¨Ò» £º
¼ì²éÄǸö±í±»Ëø
select sess.sid,sess.serial#, lo.oracle_username,lo.os_user_name,ao.object_name,lo.locked_mode
from v$locked_object lo,dba_objects ao,v$session sess
where ao.object_id = lo.object_id
and lo.session_id = sess.sid;
½âËø
alter system kill session '273,45';
´¦Àí·½·¨¶ ......