云数据库 GaussDB-CREATE PACKAGE:示例

时间:2025-02-12 15:09:21

示例

  • CREATE PACKAGE SPECIFICATION示例:
    gaussdb=# CREATE OR REPLACE PACKAGE emp_bonus ISvar1 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 isvar3 int:=3;var4 int:=4;procedure testpro1(var3 int)isbegincreate 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=# beginemp_bonus.testpro1(1);end;/
support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0544.html