请问execute immediate sqlstr与dbms_sql的区别 sqlstr是你要执行的语句execute immediate sqlstr;这样用就是了,必须8i以后的版本才能用 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 execute immediate的意思就是db在执行该sqlstr语句的时候,不会对sql语句进行语法分析,而直接执行 回答:execute immediate只能完成一些简单的语句,而且语句中不能传入变量dbms_sql则是全面的,所有的动态sql都可以完成可以把execute immediate理解为dbms_sql的简版。 在form(oracle develop)工具中可以用execute immediate吗?如何判断执行成功还是失败,是不是用exception when others才能判断出来 execute immediate 的效率较高。其实他已经可以在高版本的oracle中代替dbms_sql。dbms_sql使用比较麻烦。 有没有谁知道oracle develop开发工具中怎么使用动态SQL 没有用过oracle develop开发工具。这些语句都是pl/sql,pl/sql在oracle develop开发工具中怎么用的就怎么用这个。 TO jiezhi(西域浪子):在develop form中用dbms_sql编译出错!declare cursor_name integer; v_rows integer;begin cursor_name := DBMS_SQL.OPEN_CURSOR; DBMS_SQL.PARSE(cursor_name, 'update tmp_aa set a1=11', dbms_sql.v7); v_rows := DBMS_SQL.EXECUTE(cursor_name); DBMS_SQL.CLOSE_CURSOR(cursor_name);end;----------------v7 must be declared 我来澄清一些问题1、execute immediate的效率比dbms_sql低这是因为execute immediate每次都要进行语句的软分析,所以效率低,所以execute immediate不适合放到循环中。如果不信,自己做测试。2、execute immediate可以使用变量如execute immediate 'select count(*) from tab where uid=:id' using myid into nums;3、dbms_sql包的功能远比execute immediate强大,可以实现动态变量传递。 为何不用execute immediate str 为什么授权成功之后还是查询不到记录 关于下面问题的说明 数据库的散列分区,请高手指点@! 设定了参数,但在C#或JAVA中如何获取? (紧急)请教一个在线生产系统的在用表的数据迁移和数据更新的问题(不能停应用),请高手不吝赐教,谢谢! 请高手指点!谢谢 关于oracle的job问题 ROWNUM怎么只能取得第一行记录 怎么修改表空间名?不能修改吗? mac怎么连oracle数据库 关于中间件连接ORACLE时Licence数量是否有限制的讨论! 谁能介绍一些PL/SQL和怎么写Trigger的学习材料?
execute immediate只能完成一些简单的语句,而且语句中不能传入变量
dbms_sql则是全面的,所有的动态sql都可以完成
可以把execute immediate理解为dbms_sql的简版。
如何判断执行成功还是失败,是不是用exception when others
才能判断出来
其实他已经可以在高版本的oracle中代替dbms_sql。dbms_sql使用比较麻烦。
这些语句都是pl/sql,pl/sql在oracle develop开发工具中怎么用的就怎么用这个。
在develop form中用dbms_sql编译出错!
declare
cursor_name integer;
v_rows integer;
begin
cursor_name := DBMS_SQL.OPEN_CURSOR;
DBMS_SQL.PARSE(cursor_name, 'update tmp_aa set a1=11', dbms_sql.v7);
v_rows := DBMS_SQL.EXECUTE(cursor_name);
DBMS_SQL.CLOSE_CURSOR(cursor_name);
end;----------------
v7 must be declared
1、execute immediate的效率比dbms_sql低
这是因为execute immediate每次都要进行语句的软分析,所以效率低,所以execute immediate不适合放到循环中。如果不信,自己做测试。
2、execute immediate可以使用变量
如execute immediate 'select count(*) from tab where uid=:id' using myid into nums;
3、dbms_sql包的功能远比execute immediate强大,可以实现动态变量传递。