OracleÓÃÓαê·Ö½âºÅÂë´ÎÊý
drop table tb_wjf_xh_dg100_50_tmp4 purge;
create table tb_wjf_xh_dg100_50_tmp4
(
servnumber varchar(11)
)
;
declare
vv_cusor_servnumber varchar2(32);
vv_cusor_lost_cnt integer;
vv_servnumber_tmp varchar2(32);
vv_lost_cnt_tmp integer;
cursor v_cursor is
select servnumber,lost_cnt from tb_wjf_xh_dg100_50_tmp3;
begin
open v_cursor;
loop
fetch v_cursor into vv_cusor_servnumber, vv_cusor_lost_cnt;
exit when v_cursor%notfound;
vv_servnumber_tmp := vv_cusor_servnumber;
vv_lost_cnt_tmp := vv_cusor_lost_cnt;
while(vv_lost_cnt_tmp > 0) loop
insert into tb_wjf_xh_dg100_50_tmp4 values(vv_servnumber_tmp);
commit;
vv_lost_cnt_tmp := vv_lost_cnt_tmp-1;
end loop;
end loop;
close v_cursor;
end;
/
Ïà¹ØÎĵµ£º
½ñÌìÔÚÍøÉÏ¿´µ½Ò»Æª¹ØÓÚBLOCK CLEANOUT²»´íµÄÎÄÕ£¬ËäÈ»ÀïÃæµÄÓиö±ðµØ·½±È½ÏÄѶ®£¬¿É»¹ÊÇÏÈת¹ýÀ´£¬µÈÒԺ󶮵öàһЩÁË×Ô¼ºÒ²×ö×öʵÑé²Ù×÷²Ù×÷¡£
=========================================================
Oracle £¨block cleanout£©
CleanoutÓÐ2ÖÖ£¬Ò»ÖÖÊÇfast commit cleanout,ÁíÒ»ÖÖÊÇdelayed block cleanout.
......
Ò»£¬PL/SQL¿éµÄ½á¹¹ºÍ×é³ÉÔªËØ
PL/SQL³ÌÐòÓÉÉùÃ÷²¿·Ö£¬Ö´Ðв¿·Ö£¬Òì³£´¦Àí²¿·ÖÈý¸ö²¿·Ö×é³É¡£½á¹¹ÈçÏ£º
DECLARE
/*ÉùÃ÷²¿·Ö£ºÔÚ´ËÉùÃ÷PL/SQL±äÁ¿£¬ÀàÐͼ°Óα꣬ÒÔ¼°¾Ö²¿µÄ´æ´¢¹ý³ÌºÍº¯Êý*/
BEGIN
/*Ö´Ðв¿·Ö£º¹ý³Ì¼°sqlÓï¾ä£¬³ÌÐòÖ÷Òª²¿·Ö£¬ÊDZØÐëµÄ*/
EXCEPTION
/*Òì³£´¦Àí²¿·Ö£º´íÎó´¦Àí*/
END
PL/SQL¿ ......
ROLLUPºÍCUBEÓï¾ä¡£
OracleµÄGROUP
BYÓï¾ä³ýÁË×î»ù±¾µÄÓï·¨Í⣬»¹Ö§³ÖROLLUPºÍCUBEÓï¾ä¡£Èç¹ûÊÇROLLUP(A, B, C)µÄ»°£¬Ê×ÏÈ»á¶Ô(A¡¢B¡¢C)½øÐÐGROUP
BY£¬È»ºó¶Ô(A¡¢B)½øÐÐGROUP BY£¬È»ºóÊÇ(A)½øÐÐGROUP BY£¬×îºó¶ÔÈ«±í½øÐÐGROUP BY²Ù×÷¡£Èç¹ûÊÇGROUP BY
CUBE(A, B, C)£¬ÔòÊ×ÏÈ»á¶Ô(A¡¢B¡¢C)½øÐÐGROUP
BY£¬È»ºóÒÀ´ÎÊÇ( ......
OracleµÄ·ÖÒ³²éѯÓï¾ä»ù±¾ÉÏ¿ÉÒÔ°´ÕÕ±¾Îĸø³öµÄ¸ñʽÀ´½øÐÐÌ×Óá£
·ÖÒ³²éѯ¸ñʽ£º
SELECT * from
(
SELECT A.*, ROWNUM RN
from (SELECT * from TABLE_NAME) A
WHERE ROWNUM <= 40
)
WHERE RN >= 21
ÆäÖÐ×îÄÚ²ãµÄ²éѯSELECT * from TABLE_NAME±íʾ²»½øÐзҳµÄÔʼ²éѯÓï¾ä¡£ROWNUM <= 40ºÍRN ......