解释在Oracle(Explain FOR in oracle)

2019-10-22 12:37发布

我想提出一个考验。 我行所有的测试,所以我的行看起来是这样的;

ID  |  TEST
----------------------------------
1   |  'select sysdate from dual'
2   |  'select sysdatesss from dual'

现在,我读了逐行和我需要测试它与EXPLAIN PLAN FOR

所以第一行这将是

EXPLAIN PLAN FOR select sysdate from dual

但我有问题转换TEST场。 现在我用的;

EXPLAIN PLAN FOR testing.TEST

但它不工作。

有任何想法吗?

Answer 1:

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

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

参考:

  • EXECUTE IMMEDIATE


Answer 2:

EXEC立即“解释计划” || TESTING.TEST



文章来源: Explain FOR in oracle