云数据库 GAUSSDB-CREATE PACKAGE:示例

时间:2024-04-26 16:14:28

示例

  • CREATE PACKAGE SPECIFICATION示例:
    gaussdb=# CREATE OR REPLACE PACKAGE emp_bonus IS
    var1 int:=1;--公有变量。
    var2 int:=2;
    PROCEDURE testpro1(var3 int);--公有存储过程,可以被外部调用。
    END emp_bonus;
    /
  • CREATE PACKAGE BODY示例:
    gaussdb=# drop table if exists test1;
    gaussdb=# create or replace package body emp_bonus is
    var3 int:=3;
    var4 int:=4;
    procedure testpro1(var3 int)
    is
    begin
    create table if not exists test1(col1 int);
    insert into test1 values(var1);
    insert into test1 values(var4);
    end;
    begin  --实例化开始。
    var4:=9;
    testpro1(var4);
    end emp_bonus;
    /
  • ALTER PACKAGE OWNER示例:
    --将PACKAGE emp_bonus的所属者改为omm。
    gaussdb=# ALTER PACKAGE emp_bonus OWNER TO omm;
  • 调用PACKAGE示例:
    --使用call调用package存储过程。
    gaussdb=# call emp_bonus.testpro1(1); 
    
    --使用select调用package存储过程。
    gaussdb=# select emp_bonus.testpro1(1); 
    --匿名块里调用package存储过程。
    gaussdb=# begin
    emp_bonus.testpro1(1);
    end;
    /
support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-12-0532.html