开发者

Explain FOR in oracle

开发者 https://www.devze.com 2023-01-01 10:12 出处:网络
I am making a test. I have all tests in rows, so my rows looks like this; ID|TEST ----------------------------------

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

精彩评论

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