Oracle %rowtype的用法:
表示该类型为行数据类型,存储的是一行数据,一行数据里可以有多列,类似于表里的一行数据,也可以是游标里的一行数据,如:
vs_row1 表%rowtype;
vs_row2 游标%rowtype;
for loop:
The syntax for the FOR Loop is:
FOR loop_counter IN [REVERSE] lowest_number..highest_number
LOOP
{.statements.}
END LOOP;
简单例子:
FOR Lcntr IN 1..20
LOOP
LCalc := Lcntr * 31;
END LOOP;
在存储过程的实现当中,一般会想到用游标来进行多行数据的遍历。如下:
create or replace procedure StudyCursor(
resulst out integer
) is
v_tablename varchar(30);
v_tabletype varchar(11);
cursor mycursor is select * from cat;
begin
open mycursor;
loop
fetch mycursor into v_tablename,v_tabletype;
null; --you can use tablename and v_tabletype
end loop;
close mycursor;
end StudyCursor;
但是,更方便的方法就是使用 for loop。如下:
create or replace procedure StudyFor(
resulst out integer
) is
begin
for emm in(select * from cat) loop
null; --you can use emm.table_name and emm.table_type
end loop;
return ;
end StudyFor;
Log4plsql介绍:
http://www.oracle.com/technology/global/cn/pub/articles/moulard_log4plsql.html