PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Връщане от функция с OUT параметър

Ще работи така:

CREATE OR REPLACE FUNCTION name_function(param_1 varchar
                                   , OUT param_2 bigint)
  LANGUAGE plpgsql AS
$func$
BEGIN
    INSERT INTO table (collumn_seq, param_1)  -- "param_1" also the column name?
    VALUES (DEFAULT, param_1)
    RETURNING collumn_seq
    INTO param2;
END
$func$;

Обикновено бихте добавили RETURN изявление, но с OUT параметри, това не е задължително.
Вижте ръководството за повече подробности:

  • Връщане от функция
  • Изпълнение на заявка с резултат от един ред

Простият случай може да бъде покрит с обикновена SQL функция.
И можете да пропуснете целевата колона, която ще получи своя DEFAULT стойност.
И можете също да използвате RETURNS клауза в този случай:

CREATE OR REPLACE FUNCTION name_function(param_1 varchar)
  RETURNS bigint
  LANGUAGE sql AS
$func$
INSERT INTO table (param_1)  -- "param_1" also the column name?
VALUES (param_1)
RETURNING collumn_seq;
$func$;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да предоставим всички привилегии за изгледи на произволен потребител

  2. В PostgreSQL, как да вмъкна данни с команда COPY?

  3. SQLAlchemy - SQLite за тестване и Postgresql за разработка - Как да пренасям?

  4. Как да превключвам бази данни в psql?

  5. Получавате стойностите по подразбиране на колоните на таблицата в Postgres?