【问题标题】:Assigning default value for type为类型分配默认值
【发布时间】:2013-10-16 16:43:17
【问题描述】:

PostgreSQL 9.3 中如何为以下类型的 Oracle 语句分配默认值?

CREATE OR REPLACE FUNCTION(....
...
DECLARE
 v_var Table01.column01%TYPE := 'SLOW';
BEGIN
...
...
END;

【问题讨论】:

    标签: oracle postgresql user-defined-functions postgresql-9.2 optional-parameters


    【解决方案1】:

    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
    

    Details in the manual.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-22
      • 2020-12-02
      • 1970-01-01
      相关资源
      最近更新 更多