Как присвоить значение по умолчанию следующему типу оператора Oracle в PostgreSQL 9.3?
CREATE OR REPLACE FUNCTION(....
...
DECLARE
v_var Table01.column01%TYPE := 'SLOW';
BEGIN
...
...
END;
Как присвоить значение по умолчанию следующему типу оператора Oracle в PostgreSQL 9.3?
CREATE OR REPLACE FUNCTION(....
...
DECLARE
v_var Table01.column01%TYPE := 'SLOW';
BEGIN
...
...
END;
Postgres позволяет предоставлять параметры по умолчанию, которые используются для отсутствующих параметров в вызове функции. Разрешено только для параметров в конце списка.
Пример:
CREATE OR REPLACE FUNCTION foo (
param1 int
, v_char tbl01.col01%TYPE DEFAULT 'foo')
...
-- no need to DECLARE anything else.
BEGIN
...
Синтаксическим сокращением будет v_char tbl01.col01%TYPE
=
'foo'
.
Вызов:
SELECT * FROM foo(1, 'bar');
SELECT * FROM foo(1); -- Param default kicks in