--动态执行1
create or replace function test1 return varchar2 as
strsql varchar2(200);
begin
execute immediate 'update fnd_user a set a.description=''OK'' where a.user_id=1055'; --动态执行.
commit;
return sqlerrm;
exception
when others then
return sqlerrm;
end;
--DBMS_SQL的执行:
create or replace function test return varchar2 as
v_cursor number;
v_string varchar2(200);
v_row number;
begin
v_cursor:=dbms_sql.open_cursor;
v_string:='create table testdb (text varchar2(200))';
dbms_sql.parse(v_cursor,v_string,dbms_sql.native);
v_row:=dbms_sql.execute(v_cursor);
dbms_sql.close_cursor(v_cursor);
return ('成功执行'||v_row||'行!');
exception
when others then
dbms_sql.close_cursor(v_cursor);
return ('执行失败!'||sqlcode||sqlerrm);
raise;
end;--PL/SQL用户指南与参考 一书中有的,
create or replace function test1 return varchar2 as
strsql varchar2(200);
begin
execute immediate 'update fnd_user a set a.description=''OK'' where a.user_id=1055'; --动态执行.
commit;
return sqlerrm;
exception
when others then
return sqlerrm;
end;
--DBMS_SQL的执行:
create or replace function test return varchar2 as
v_cursor number;
v_string varchar2(200);
v_row number;
begin
v_cursor:=dbms_sql.open_cursor;
v_string:='create table testdb (text varchar2(200))';
dbms_sql.parse(v_cursor,v_string,dbms_sql.native);
v_row:=dbms_sql.execute(v_cursor);
dbms_sql.close_cursor(v_cursor);
return ('成功执行'||v_row||'行!');
exception
when others then
dbms_sql.close_cursor(v_cursor);
return ('执行失败!'||sqlcode||sqlerrm);
raise;
end;--PL/SQL用户指南与参考 一书中有的,
解决方案 »
- 关于索引的问题
- 探讨一个查询语句
- 请教一简洁高效sql语句。
- Alter System Set Control_Files...出错?
- 【求助】如何计算一个月有多少个星期一?
- oracle9怎么建数据库
- 如何指定storage相关的参数呢
- 求教“无法分配 4096 字节的共享内存”问题出现后增加共享池的大小后仍然出现该问题?
- ORACLE的DATE数据类型怎样使用?
- VNI-2015是验证错误。应该怎么解决
- Oracle中使用Transaction执行多条sql语句的问题
- SQL STATEMENT QUESTION!!! the question solved then destribute score immediate!!
在oracle9i中,可以用exec命令直接执行。
但是动态sql影响性能。