declare
str varchar2(2000);
x number;
begin
str:='select count(*) into '||x||' from table';
return x;
end;
str varchar2(2000);
x number;
begin
str:='select count(*) into '||x||' from table';
return x;
end;
调试欢乐多
execute immediate str
str varchar2(2000);
x number;
begin
str:='select count(*) into '||x||' from table';
execute immedaite str
return x;
end;
x number;
begin
select count(*) into x from dba_users;
dbms_output.put_line(x);
end;
/或这样
declare
str varchar2(200);
x number;
begin
str := 'select count(*) from dba_users';
execute immediate str into x;
dbms_output.put_line(x);
end;
不能这样,可以通过动态sql来做declare
str varchar2(2000);
x number;
begin
str:='select count(*) from table';
execute immediate str into x;
return x;
end;
/或者是使用动态游标declare
type T_CUR is ref cursor;
v_cur T_CUR;
str varchar2(2000);
x number;
begin
str:='select count(*) from table';
open v_cur for str;
fetch v_cur into x;
close v_cur;
return x;
end;
/