云数据库 GAUSSDB-ALTER PACKAGE:示例

时间:2024-11-13 14:45:25

示例

  • 修改PACKAGE的所有者。
    --创建数据库。
    gaussdb=# CREATE DATABASE test DBCOMPATIBILITY 'ORA';
    gaussdb=# \c test
    
    --创建PACKAGE。
    test=# CREATE OR REPLACE PACKAGE test_pkg AS
        pkg_var int := 1;
        PROCEDURE test_pkg_proc(var int);
    END test_pkg;
    /
    
    test=# CREATE OR REPLACE PACKAGE BODY test_pkg AS
        PROCEDURE test_pkg_proc(var int) AS
        BEGIN
            pkg_var := 1;
        END;
    END test_pkg;
    /
    
    --创建用户。
    test=# CREATE ROLE test PASSWORD '********';
    
    --修改包的所有者。
    test=# ALTER PACKAGE test_pkg OWNER TO test;
    
    --查询test_pkg的所有者。
    test=# SELECT t1.pkgname,t2.rolname FROM gs_package t1, gs_roles t2 WHERE t1.pkgname = 'test_pkg' AND t1.pkgowner = t2.oid;
     pkgname  | rolname 
    ----------+---------
     test_pkg | test
    (1 row)
    
    --删除。
    test=# DROP PACKAGE test_pkg;
    test=# DROP ROLE test;
    --切换至默认数据库(根据实际情况修改数据库名)。
    test=# \c postgres
    gaussdb=# DROP DATABASE test;
support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-12-0498.html