Новичок в Postgres.
Я пытаюсь преобразовать хранимую процедуру SQL Server в функцию Postgres. В настоящее время не могу понять, как превратить эту строку SQL в Postgres.
SQL Server:
input: @name = null
SELECT *
FROM table
WHERE name = ISNULL(@name, name)
Postgres:
input: n = null
SELECT *
FROM table
WHERE name = COALESCE(n, name)
Я получаю сообщение об ошибке «столбец n не существует». Как ссылаться на параметры в операторах select в функциях Postgres?
ОБНОВЛЕНИЕ:
Определение функции Postgres
CREATE OR REPLACE FUNCTION fn_name (n VARCHAR(32) = NULL, name OUT varchar(32), description OUT varchar(64))
RETURNS setof record
AS
$$
SELECT u.name
, u.description
FROM table_a u
WHERE u.name = COALESCE(n, u.name);
$$
LANGUAGE sql;