检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
调用一个语句的语法请参见图1。 图1 call_clause::= 对以上语法格式的解释如下: procedure_name,为存储过程名。 parameter,为存储过程的参数,可以没有或者有多个参数。 示例 1 2 3 4 5 6 7 8 9 10 11 12 13
进入和退出一个包含EXCEPTION子句的块要比不包含的块开销大的多。因此,不必要的时候不要使用EXCEPTION。 在下列场景中,无法捕获处理异常,整个存储过程回滚:节点故障、网络故障引起的存储过程参与节点线程退出以及COPY FROM操作中源数据与目标表的表结构不一致造成的异常。 示例 :UPDATE/INSERT异常
GOTO语句 GOTO语句可以实现从GOTO位置到目标语句的无条件跳转。GOTO语句会改变原本的执行逻辑,因此应该慎重使用,或者也可以使用EXCEPTION处理特殊场景。当执行GOTO语句时,目标Label必须是唯一的。 语法 label declaration ::= goto
在下列场景中,无法捕获处理异常,整个存储过程回滚:1. 节点故障,2. 网络故障引起的存储过程参与节点线程退出以及COPY FROM操作中源数据与目标表的表结构不一致造成的异常,3. EXCEPTION清理子事务时的异常(对于包含EXCEPTION语句的存储过程,执行时会开启一个隐式的子
语句下推介绍 目前,GaussDB优化器在分布式框架下制定语句的执行策略时,有三种执行计划方式:生成下推语句计划、生成分布式执行计划、生成发送语句的分布式执行计划。 下推语句计划:指直接将完整的查询语句从CN发送到DN进行执行,然后将执行结果返回给CN。 分布式执行计划:指CN对查询语句进行
语句下推介绍 目前,GaussDB优化器在分布式框架下制定语句的执行策略时,有三种执行计划方式:生成下推语句计划、生成分布式执行计划、生成发送语句的分布式执行计划。 下推语句计划:指直接将完整的查询语句从CN发送到DN进行执行,然后将执行结果返回给CN。 分布式执行计划:指CN对查询语句进行
gaussdb=# CALL proc_cursor3(); proc_cursor3 -------------- (1 row) --删除存储过程和临时表 gaussdb=# DROP PROCEDURE proc_cursor3; 父主题: 游标
GS_PLAN_TRACE GS_PLAN_TRACE系统表是用于存储plan trace的系统表,主要记录的是DML语句生成计划过程的详情,只有具有sysadmin权限的用户才可以使用该系统表。分布式场景下不支持plan trace特性,所以在分布式下该视图中无数据。 表1 GS_PLAN_TRACE字段
在线校验功能 在线校验是Ustore特有的,在运行过程中可以有效预防页面因编码逻辑错误导致的逻辑损坏,默认开启UPAGE:UBTREE:UNDO三个模块校验。业务现网请保持开启,性能场景除外。 关闭: gs_guc reload -Z coordinator -Z datanode -N
PG_SET PG_SET系统表存储SET数据类型定义的元数据,当前分布式下暂不支持该功能。 父主题: 其他系统表
怎么配置回滚段大小 一般情况下回滚段大小的参数使用默认值即可。为了达到最佳性能,部分场景下可调整回滚段大小的相关参数,具体场景与设置方法如下。 保留给定时间内的历史版本数据。 当使用闪回或者支撑问题定位时,通常希望保留更多历史版本数据,此时需要修改undo_retention_t
storage test error 业务执行过程中,数据页、索引或者Undo页面发生变更后,该页面放锁之前会主动进行逻辑损坏检测,发现页面损坏问题后会输出包含“storage test error”关键字的日志信息到数据库运行日志(gs_log文件),执行事务回滚,页面会恢复到修改前的状态。
怎么配置回滚段大小 一般情况下回滚段大小的参数使用默认值即可。为了达到最佳性能,部分场景下可调整回滚段大小的相关参数。具体场景与设置方法如下: 保留给定时间内的历史版本数据。 当使用闪回或者支撑问题定位时,通常希望保留更多历史版本数据,此时需要修改undo_retention_t
选择存储模型 进行数据库设计时,表设计上的一些关键项将严重影响后续整库的查询性能。表设计对数据存储也有影响:好的表设计能够减少I/O操作及最小化内存使用,进而提升查询性能。 表的存储模型选择是表定义的第一步。客户业务属性是表的存储模型的决定性因素,依据下面表格选择适合当前业务的存储模型。
分区表 本章节围绕分区表在大数据量场景下如何对保存的数据进行“查询优化”和“运维管理”出发,分六个章节以此对分区表使用上进行系统性说明,包含语义、原理、约束限制等方面。 大容量数据库 分区表介绍 分区表查询优化 分区表运维管理 分区表系统视图&DFX
声明语法 基本结构 匿名块 子程序 父主题: 存储过程
其他语句 锁操作 游标操作 父主题: 存储过程
%ROWTYPE属性主要用于对一组数据的类型声明,用于存储表中的一行数据,或从游标匹配的结果。假如,我们需要一组数据,该组数据的字段名称与字段类型都与employee表相同。我们可以通过如下定义: my_employee employee%ROWTYPE 多个CN的环境下,存储过程中无法声明临时表的%RO
= 5;--赋值 emp_id := 5*7784; END; / INTO/BULK COLLECT INTO 将存储过程内语句返回的值存储到变量内,BULK COLLECT INTO允许将部分或全部返回值暂存到数组内部。 示例 openGauss=# DECLARE
parentid = '' THEN RETURN; ELSE hp_true_filename(parentid);--表示调用存储过程 END IF; IF_THEN_ELSE IF IF语句可以嵌套,嵌套方式如下: 1 2 3 4 5 6 7 openGauss=#