Передача переменной в Oracle APEX PL / SQL - PullRequest
0 голосов
/ 16 ноября 2011

Я строю простое приложение в APEX. Одна из моих страниц - отчет, и для источника региона у меня есть некоторый код на этот счет. Я получаю сообщение об ошибке

ORA-00904: "var_out": invalid identifier

По сути, переменная: form_variable происходит из поля поиска, и я могу передать это в строку запроса отлично (т.е. заменить «переменную» на «: form_variable», но я хочу сначала передать ее в функцию и поместить вместо этого выведите в строку. Я уверен, что это что-то простое, но я не могу понять, что мне делать.

DECLARE
variable VARCHAR2(10);
query VARCHAR2(1000);

-- Where var_out is an output
BEGIN
myfunction(:form_variable, var_out);
variable := var_out;

query := 'SELECT * FROM TABLE WHERE column = variable';

RETURN query;

END;

Спасибо

1 Ответ

3 голосов
/ 17 ноября 2011

Вам необходимо объявить свою переменную out var_out в своем блоке объявления.

    DECLARE
    var_out VARCHAR2(10);
    query VARCHAR2(1000);

    -- Where var_out is an output
    BEGIN
    myfunction(:form_variable, var_out);
    --variable := var_out;

    query := 'SELECT * FROM TABLE WHERE column = '''||var_out||'''';

    RETURN query;

    END;

Кроме того, в вашем примере строка запроса не выполняет никакой замены.Вы можете объединить его, если ваша процедура myfunction output очищает переменную.

...