Oracle executeimmediate具有executeimmediate属性的pl/sql
我有一个查询字符串,它已立即执行 如何执行此PL/SQL 查询字符串=“执行立即选择…” 要执行此操作:Oracle executeimmediate具有executeimmediate属性的pl/sql,oracle,plsql,dynamic-sql,Oracle,Plsql,Dynamic Sql,我有一个查询字符串,它已立即执行 如何执行此PL/SQL 查询字符串=“执行立即选择…” 要执行此操作:立即执行“查询字符串” 这就是:executeimmediate“executeimmediate select…” 你知道我怎么做吗?不评论这是正常的还是明智的:是的,我相信你能做到。也就是说,我从未见过任何关于executeimmediate的文章表明它不是可重入者。另外,如果你尝试一下,它也能起作用 下面是一个简单、典型的executeimmediate调用: DECLARE l_c
立即执行“查询字符串”代码>
这就是:executeimmediate“executeimmediate select…”代码>
你知道我怎么做吗?不评论这是正常的还是明智的:是的,我相信你能做到。也就是说,我从未见过任何关于executeimmediate
的文章表明它不是可重入者。另外,如果你尝试一下,它也能起作用
下面是一个简单、典型的executeimmediate
调用:
DECLARE
l_count NUMBER;
BEGIN
EXECUTE IMMEDIATE 'SELECT COUNT(*) INTO :l_count FROM DBA_OBJECTS WHERE ROWNUM <= 100' INTO l_count;
DBMS_OUTPUT.PUT_LINE ('l_count = ' || l_count);
END;
我从来没有遇到过这样做的需要。没有评论这是正常的还是明智的:是的,我相信你能做到。也就是说,我从未见过任何关于executeimmediate
的文章表明它不是可重入者。另外,如果你尝试一下,它也能起作用
下面是一个简单、典型的executeimmediate
调用:
DECLARE
l_count NUMBER;
BEGIN
EXECUTE IMMEDIATE 'SELECT COUNT(*) INTO :l_count FROM DBA_OBJECTS WHERE ROWNUM <= 100' INTO l_count;
DBMS_OUTPUT.PUT_LINE ('l_count = ' || l_count);
END;
我从来没有遇到过这样做的需要。一个更完整的例子会很有用。您的“查询字符串”缺少内部单引号;这是否存在于变量中?您将如何处理查询结果?一个更完整的示例将非常有用。您的“查询字符串”缺少内部单引号;这是否存在于变量中?您将如何处理查询结果?如果我们有一些参数可能包含1个参数或3个参数,如何使用执行pl/sql?我想这样做:declare m varchar2(1000):=“SELECT description FROM TB1,其中id=:z';u数:=5;使用“| u | | | | | | | |”将立即“| m | |”执行到:l|u outer|u count中代码>动态构造PL/SQL块来处理绑定变量数量的变化非常有意义。不过,我不确定为什么需要在execute immediate中执行execute immediate。您正在运行时构造代码块。为什么需要在动态构造的字符串中执行动态SQL?如果我们有一些参数可能包含1个参数或3个参数,那么如何使用来执行pl/SQL?我想这样做:declare m varchar2(1000):=“SELECT description FROM TB1,其中id=:z';u数:=5;使用“| u | | | | | | | |”将立即“| m | |”执行到:l|u outer|u count中代码>动态构造PL/SQL块来处理绑定变量数量的变化非常有意义。不过,我不确定为什么需要在execute immediate中执行execute immediate。您正在运行时构造代码块。为什么需要在动态构造的字符串中执行动态SQL?