在oracle中解释FOR

Adn*_*nan 1 sql oracle plsql dynamic-sql

我正在考试.我在行中进行了所有测试,所以我的行看起来像这样;

ID  |  TEST
----------------------------------
1   |  'select sysdate from dual'
2   |  'select sysdatesss from dual'
Run Code Online (Sandbox Code Playgroud)

现在我逐行阅读它,我需要测试它 EXPLAIN PLAN FOR

所以它将是第一排

EXPLAIN PLAN FOR select sysdate from dual
Run Code Online (Sandbox Code Playgroud)

但我在转换TEST领域时遇到了问题.现在我用;

EXPLAIN PLAN FOR testing.TEST
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

有任何想法吗?

OMG*_*ies 5

SQL语句是一个字符串,但您必须使用动态SQL转换存储为字符串的SQL语句.

FOR i IN (SELECT t.test
            FROM TESTING t) LOOP
   EXECUTE IMMEDIATE 'EXPLAIN PLAN FOR '|| i.test ||'';
END LOOP;
Run Code Online (Sandbox Code Playgroud)

参考: