可否动态执行存储过程
有没有可以动态执行存储过程,就象动态执行sql语句:
如 execute immediate "select * from a where b=:str"
是否有这样的语句:
ProName:='usp_getModlue';
execute immediate ProName || '(:str1,str2)'
敬请指教
有没有可以动态执行存储过程,就象动态执行sql语句:
如 execute immediate "select * from a where b=:str"
是否有这样的语句:
ProName:='usp_getModlue';
execute immediate ProName || '(:str1,str2)'
敬请指教
当然可以啦
可以.,
...
sql_stmt := 'SELECT * FROM emp WHERE empno = :id';
EXECUTE IMMEDIATE sql_stmt INTO emp_rec USING emp_id;
这个很好用.
动态sql语句分为dbms_sql包和本地动态sql,dbms_sql应用范围更广一些,建议楼主找本书看看,俺觉得<oracle专家高级编程>中讲得就不错
动态语句我是知道的,但我想要动态执行过程啊,在Oracle8i中的!
其实不就是创建一个带参数的存储过程嘛
也可以动态生成SQL语句
baojianjun(包子) 说的对,有版本问题
应该是可以了,测试是可以的,不过好像不能动态传第out参数.等有时间再试吧
另外在字符连接中单引号是如何连接的 ||' ?