ここにはPostgres noobieがあります。PostgresのSQL関数で名前付きパラメータを参照する方法は?
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が存在しません。" Postgres関数のselect文でパラメータを参照するにはどうすればよいですか?
UPDATE:Postgresの機能あなたが言語= SQLで定義されている機能で、名前付きパラメータを使用することはできません
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;
、ファンクション・アトリビュート –