开发者

Explain FOR in oracle

I am making a test. I have all tests in rows, so my rows looks like this;

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

Now I read it row by row and I need to test it with EXPLAIN PLAN FOR

so the for the fi开发者_JS百科rst row it would be

EXPLAIN PLAN FOR select sysdate from dual

but I have problem converting the TEST field. Right now I use;

EXPLAIN PLAN FOR testing.TEST

but it does not work.

Any ideas?


A SQL statement is a string, but you have to use dynamic SQL to convert a SQL statement that is stored as a string.

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

Reference:

  • EXECUTE IMMEDIATE


EXEC IMMEDIATE 'EXPLAIN PLAN FOR ' || TESTING.TEST

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜