圈子推荐
查看所有吧>>
活跃用户
    atlasdb 兼容oracle 特性之package的使用

    postgresql不支持oracle 的package使用,atlasdb 是支持的。


    1. CREATE PACKAGE

    语法


    示例

    2. CREATE PACKAGE BODY

    语法



    示例

    create or replace package body pkg

    as $$

     

      FUNCTION func(var_out Out int)

      as $func$

        BEGIN

          select var_out into var_out;      END

      $func$;

     

      FUNCTION func1(var_in text, var_out Out text)

      as $func$

        BEGIN

          select var_in ;  

          select var_out ;

        END

      $func$;

    $$;

     

    create package body pkg2

    as $$

        private_var int := (0+2);

     

        FUNCTION set_public(v int) RETURNS int AS $func$

            BEGIN

                public_var :=  v;

                RETURN public_var;

            END;

        $func$;

     

        FUNCTION get_public() RETURNS int AS $func$

            DECLARE

                ret int := public_var;

            BEGIN

                RETURN ret;

            END;

        $func$;

     

        FUNCTION set_private(v int) RETURNS int AS $func$

            BEGIN

                private_var :=  v;

                RETURN private_var;

            END;

        $func$;

     

        FUNCTION get_private() RETURNS int AS $func$

            DECLARE

            BEGIN

                RETURN private_var;

            END;

        $func$;

     

        do $proc$

            BEGIN

                public_var := public_var + 10;

                private_var := private_var + 10;

            END

        $proc$

    $$;




    • 分享到:
    排序方式:回复时间 共有0条评论