--example
declare
plsql_str varchar2(500);
begin
plsql_str:=
'
declare
i number := 9 ;
begin
for j in 1..i loop
dbms_output.put_line(to_char(j**2));
end loop;
end;
';
execute immediate plsql_str;
end;
/
---------------------------------
SQL> declare
2 plsql_str varchar2(500);
3 begin
4 plsql_str:=
5 '
6 declare
7 i number := 9 ;
8 begin
9 for j in 1..i loop
10 dbms_output.put_line(to_char(j**2));
11 end loop;
12 end;
13 ';
14 execute immediate plsql_str;
15 end;
16 /
1
4
9
16
25
36
49
64
81PL/SQL 程序順利完成目前歷時: 00:00:00.31
declare
plsql_str varchar2(500);
begin
plsql_str:=
'
declare
i number := 9 ;
begin
for j in 1..i loop
dbms_output.put_line(to_char(j**2));
end loop;
end;
';
execute immediate plsql_str;
end;
/
---------------------------------
SQL> declare
2 plsql_str varchar2(500);
3 begin
4 plsql_str:=
5 '
6 declare
7 i number := 9 ;
8 begin
9 for j in 1..i loop
10 dbms_output.put_line(to_char(j**2));
11 end loop;
12 end;
13 ';
14 execute immediate plsql_str;
15 end;
16 /
1
4
9
16
25
36
49
64
81PL/SQL 程序順利完成目前歷時: 00:00:00.31
CURSOR C_LMNAME IS
SELECT LMNAME FROM td_m_spscale_pm
GROUP BY LMNAME;
OPEN C_LMNAME;
LOOP
FETCH C_LMNAME INTO iv_LMNAME;
EXIT WHEN C_LMNAME%NOTFOUND;这后面要用到 V1.LMNAME=iv_LMNAME
这种游标和下面一种方法有什么区别吗V1.LMNAME IN (SELECT LMNAME FROM tm_d_spscale_pm)
后一种方式更好,因为,你不必在意打开,提取和关闭游标,Oracle自动帮你实现这些功能.