【发布时间】:2015-10-13 11:46:30
【问题描述】:
您好,我必须执行远程调用...
DBMS_STATS.FLUSH_DATABASE_MONITORING_INFO@DB_LINK()
...来自存储过程。
因为 DB_LINK 的值是在运行时获取的。它应该动态执行。我试过用
EXECUTE IMMEDIATE ' DBMS_STATS.FLUSH_DATABASE_MONITORING_INFO@'||DB_LINK||'()';
但我收到以下错误
ORA-00900: invalid SQL statement
谁能告诉我如何动态执行存储过程?
【问题讨论】:
-
你可以试试:EXECUTE IMMEDIATE ' DBMS_STATS.FLUSH_DATABASE_MONITORING_INFO@'||DB_LINK
-
好吧,我不确定它是否会起作用,但尝试像这样 '||DB_LINK()
-
还是不行。我收到同样的错误。
-
使用'||DB_LINK()。它将 DB_LINK() 作为一个函数。并抛出未找到 DB_LINK() 函数。
-
你的语法好像是正确的:stackoverflow.com/q/240788/272735你确定
DB_LINK的值是正确的并且数据库链接有权限执行DBMS_STATS包吗?
标签: oracle plsql remote-access