Перенос базы данных oracle в postgresql: процедура - PullRequest
0 голосов
/ 17 февраля 2020

мы собираемся перенести нашу базу данных с Oracle на PostgreSQL.

Я новичок в PostgreSQL. У нас есть такая процедура:

CREATE OR REPLACE PROCEDURE USPX_TEST (NAME IN VARCHAR2,cb_results_cursor OUT SYS_REFCURSOR) IS
BEGIN
 OPEN cb_results_cursor FOR
          SELECT * FROM EMPLOYEES WHERE EMP_NAME = NAME;
END USPX_TEST;

Пожалуйста, предоставьте мне, как преобразовать эту же процедуру в postgreSQL.

ПРИМЕЧАНИЕ: нам нужно вернуть результат в курсоре, используя параметр out

Заранее спасибо ...

1 Ответ

0 голосов
/ 17 февраля 2020

Чтобы вернуть результат в Postgres, вы используете функцию, а не процедуру:

CREATE OR REPLACE function USPX_TEST (NAME IN VARCHAR2)
  returns setof employees
as
$$
  SELECT * FROM EMPLOYEES WHERE EMP_NAME = NAME;
$$
language sql;

Используйте ее как таблицу:

select *
from USPX_TEST('Zaphod');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...