Raghav
Raghav

Reputation: 11

Using variable in FROM clause pl/sql

SET SERVEROUTPUT ON
DECLARE 
table_name varchar2(80) := 'dual';
BEGIN 
SELECT * FROM table_name WHERE dummy = 'X';
END;

The above code throws error. I want to use a variable in the from clause.

Upvotes: 0

Views: 93

Answers (1)

Mihawk
Mihawk

Reputation: 825

For a dynamic query you can use EXECUTE IMMEDIATE.

DECLARE
    table_name   VARCHAR2 (80) := 'dual';
    v_query      VARCHAR2 (200);
BEGIN
    v_query := 'SELECT   *
                FROM   ' || table_name || '
                WHERE   dummy = ''X''';

     EXECUTE IMMEDIATE v_query;
END;

Upvotes: 1

Related Questions