返回首页

gbase数据、南大通用产品文档:GBase8a修改存储过程/函数

更新日期:2024年09月11日

功能说明
用来改变一个存储过程或函数的特征。用户需要有ALTER ROUTINE 权限才可
以使用该语句,这个权限会自动授予子程序的创建者。
语法格式
ALTER {PROCEDURE | FUNCTION} [characteristic ...]
characteristic:
{ CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
| COMMENT 'string'
表5- 168 参数说明
参数名称


Sp_name
要修改的存储过程或函数的名称。

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
1349
参数名称


CONTAINS SQL |
NO SQL | READS
SQL DATA |
MODIFIES SQL
DATA
表示子程序使用SQL 语句的限制。
CONTAINS SQL 表明子程序包含SQL 语句,
但是不包含读写
数据的语句,默认情况下,系统会指定为CONTAINS SQL;
NO SQL 表明子程序不包含SQL 语句;
READS SQL DATA:说明子程序包含读数据的语句;
MODIFIES SQL DATA 表明子程序包含写数据的语句。
SQL SECURITY
{ DEFINER |
INVOKER }
指明谁有权限来执行。
DEFINER 表示只有定义者才能执行,
默认情况下,
系统指定
为DEFINER ;
INVOKER 表示拥有权限的调用者可以执行。
COMMENT ‘string’
注释信息,可以用来描述存储过程或函数
示例
示例1:修改存储过程的注释信息。
gbase> ALTER PROCEDURE proc_count COMMENT 'new comment';
Query OK, 0 rows affected
示例2:修改函数的注释信息。
gbase> ALTER FUNCTION fn_count COMMENT 'new comment';
Query OK, 0 rows affected

当应用程序请求它时,驱动程序和驱动程序管理器为关于环境、每一连接和每一 SQL 语
句的信息分配存储。
对于这些分配,驱动程序为每一应用程序返回一个句柄,在每一函数调用中,其使用一个
或多个句柄。
GBase 8s ODBC Driver API 使用下列句柄类型:
环境句柄
环境句柄为全局信息标识内存存储,包括有效的连接句柄和当前活动的连接句柄。
环境句柄为 henv 变量类型。一个应用程序使用一个环境句柄。在它连接至数据源
之前,它必须请求此句柄。
连接句柄
连接句柄为关于特殊连接的信息标识内存存储。连接句柄为 hdbc变量类型。应用
程序必须在连接至数据源之前,必须请求连接句柄。每个连接句柄都与环境句柄相
关联。但是,环境句柄可以与多个连接句柄相关联。
语句句柄
语句句柄为关于 SQL 语句的信息标识内存存储。语句句柄为 hstmt 变量类型。在

GBase 8s ODBC Driver 程序员指南
南大通用数据技术股份有限公司
- 14 -
应用程序提交 SQL 请求之前,它必须请求一语句句柄。每一语句句柄仅与一个连
接句柄相关联。但是,每一连接句柄可与多个语句句柄相关联。

PG_STATIO_ALL_TABLES 视图将包含当前数据库中每个表(包括TOAST 表)的I/O
统计信息。
名称
类型
描述
relid
oid
表OID。
schemaname
name
该表模式名。
relname
name
表名。
heap_blks_read
bigint
从该表中读取的磁盘块数。
heap_blks_hit
bigint
该表缓存命中数。
idx_blks_read
bigint
从表中所有索引读取的磁盘块数。
idx_blks_hit
bigint
表中所有索引命中缓存数。
toast_blks_read
bigint
该表的TOAST 表读取的磁盘块数(如果存在)。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
910
名称
类型
描述
toast_blks_hit
bigint
该表的TOAST 表命中缓冲区数(如果存在)。
tidx_blks_read
bigint
该表的TOAST 表索引读取的磁盘块数(如果存
在)。
tidx_blks_hit
bigint
该表的TOAST 表索引命中缓冲区数
(如果存在)