возникает проблема при выборке нескольких столбцов с использованием PostgreSQL select into - PullRequest
1 голос
/ 29 мая 2020

получение ошибки при компиляции ниже sp

CREATE OR REPLACE FUNCTION get_name ( IN E_ID NUMERIC, OUT N varchar(30), OUT S NUMERIC) 
LANGUAGE plpgsql
AS $P1$
DECLARE CURSOR1 CURSOR FOR
SELECT NAME, SALARY INTO N,S
FROM PUBLIC.EMPLOYEE
WHERE(EMP_ID=E_ID);
BEGIN
-- CURSOR LEFT OPEN FOR CLIENT APPLICATION
OPEN CURSOR1;
END $P1$ 

ОШИБКА: синтаксическая ошибка около или около ","

СТРОКА 6: ВЫБЕРИТЕ ИМЯ, ЗАПЛАТА В N, S

что не так в этой строке

выберите col1, col2 в v1, v2 из table1 Правильно ли это в PostgreSQL?

1 Ответ

1 голос
/ 29 мая 2020

Удалите 'INTO N, S' в объявлении курсора: это неправильный способ использования курсора в PL / PG SQL.

После того, как курсор открыт, вы используете FETCH INTO: это здесь вы используете столбец таблицы из набора результатов курсора.

См. https://www.postgresql.org/docs/current/plpgsql-cursors.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...