Создать SQL из параметров, включая предложение FROM - PullRequest
0 голосов
/ 03 января 2019

Можно ли создать хранимую процедуру, которая вызывает оператор SQL с параметром в операторе выбора, а другой - в предложении FROM?

Мне кажется, что это невозможно, но я не могузнаю много о pl / sql.

Код ниже, конечно, не работает.Любая помощь будет принята с благодарностью.

CREATE OR REPLACE PROCEDURE procedure1 table1 VARCHAR(100)
                                       field1 VARCHAR(100)
IS
BEGIN
    FOR I IN (SELECT field1
                FROM TABLE (table1)
               WHERE field1 IS NOT NULL)
    LOOP
        DBMS_OUTPUT.PUT_LINE ('Field_name : ' || I.FIELD_NAME);
    END LOOP;
END procedure1;

1 Ответ

0 голосов
/ 03 января 2019

Я думаю, что вы можете создать SQL в переменной и выполнить его. Это должно работать.

CREATE OR REPLACE PROCEDURE CRAZY_PROC (tableName    VARCHAR2,
                                        fieldName    VARCHAR2)
AS
    sqlString   VARCHAR2 (1000);
BEGIN
    sqlString := 'select ' || fieldName || ' from ' || tableName;

    DBMS_OUTPUT.PUT_LINE (sqlString);
END;
/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...