Использование переменной в предложении FROM pl / sql - PullRequest
0 голосов
/ 19 февраля 2020
SET SERVEROUTPUT ON
DECLARE 
table_name varchar2(80) := 'dual';
BEGIN 
SELECT * FROM table_name WHERE dummy = 'X';
END;

Приведенный выше код выдает ошибку. Я хочу использовать переменную в предложении from.

1 Ответ

1 голос
/ 19 февраля 2020

Для динамического запроса c вы можете использовать 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;
...