Как добавить столбец в выборку из хранимой процедуры в зависимости от результатов запроса? - PullRequest
0 голосов
/ 16 мая 2019

Я использую Oracle SQL Developer и мне нужно выполнить поиск в таблице, чтобы определить, соответствует ли хотя бы одна запись.После завершения поиска значение true или false возвращается из хранимой процедуры.Меня попросили не только вернуть результат true или false, но и добавить два значения из вновь добавленных столбцов.У меня уже есть часть запроса, которая возвращает истину или ложь (это было создано ранее).Теперь мне нужно создать выборку, которая возвращает эти два новых значения вместе с ранее сгенерированным значением 'T' или 'F' в качестве результата.Это значение создается с использованием функции декодирования следующим образом: DECODE (COUNT (ColumnId), 0, 'F', 'T') answer.Как я могу вернуть это значение true или false (которого нет в таблице) вместе с двумя значениями из таблицы в качестве значений SELECT?

Это для веб-службы, база данных использует Oracle SQL Developeras interface и клиент ожидает значение String вместе со значением двух столбцов, если есть совпадение.Я собираюсь вернуть строку вместе с двумя фиктивными значениями, если совпадения нет.Я попытался выбрать два столбца, а затем выбрать вариант ответа с именем AS, и это не сработало.Выбор самого varibale тоже не сработал.

create or replace procedure
PROCEDURE procedurename
(
Value IN VARCHAR,
BoolValue OUT VARCHAR,
) AS
BEGIN
SELECT DECODE(COUNT(ColumnId), 0, 'F', 'T') answer
INTO Variable
FROM tablename
WHERE (*Conditions*);
END
procedurename

IF answer= 'T' THEN 
            SELECT Val1, Val2, Val3, answer
            FROM tablename
            WHERE col1= 'val1'AND col2 = 'val2';

Я ожидаю получить результат (например):

Val1, Val2, Val3, T

Я получаю:

«ответ»: неверный идентификатор

...