检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
static_cursor_define::= 或 图2 static_cursor_define::= 参数说明: cursor_name:定义的游标名。 parameter:游标参数,只能为输入参数,参数支持定义默认值,以:=、=、default定义。其格式为: select_statement:查询语句。
static_cursor_define::= 或 图2 static_cursor_define::= 参数说明: cursor_name:定义的游标名。 parameter:游标参数,只能为输入参数,其格式为: parameter_name datatype select_statement:查询语句。
生作用。 存储过程指定package属性时支持重载。 不能创建仅形参名字不同(存储过程名和参数列表类型都一样)的重载存储过程。 重载的存储过程在调用时变量需要明确具体的类型。 不能创建与函数拥有相同名称和参数列表的存储过程。 不支持仅默认值不同的存储过程重载。 存储过程仅IN、O
匿名块 匿名块(Anonymous Block)一般用于不频繁执行的脚本或不重复进行的活动。它们在一个会话中执行,并不被存储。 语法 匿名块的语法参见图1。 图1 anonymous_block::= 对以上语法图的解释如下: 匿名块程序实施部分,以BEGIN语句开始,以END语
基础接口 PKG_SERVICE PKG_UTIL 父主题: 高级包
数组 数组类型的使用 数组支持的函数 父主题: 数组、集合和record
支持在子事务中调用含SAVEPOINT的存储过程并使用外部定义的SAVEPOINT,回退事务状态到存储过程外定义的SAVEPOINT位置。 支持在存储过程外部可见存储过程内部定义的SAVEPOINT,即存储过程外可以将事务修改回滚到存储过程中定义SAVEPOINT的位置。 支持多
Retry管理 Retry是数据库在SQL或存储过程(包含匿名块)执行失败时,在数据库内部进行重新执行的过程,以提高执行成功率和用户体验。数据库内部通过检查发生错误时的错误码及Retry相关配置,决定是否进行重试。 失败时回滚之前执行的语句,并重新执行存储过程进行Retry。 示例: 1
CURSOR的形式引用cursor变量。 带参数的CURSOR仅支持在当前PACKAGE内打开。 在分布式下,仅支持在ORA兼容性数据库中使用PACKAGE。 在分布式下,当SQL语句中含有package内的变量、package内的函数时,不支持下推。 不支持package变量作为函数或存储过程参数的默认值。 如果
子程序 存储在数据库中的存储过程、函数和操作符及高级包等。当在数据库上建立好后,可以在其他程序中调用它们。 父主题: 声明语法
生作用。 存储过程指定package属性时支持重载。 不能创建仅形参名字不同(存储过程名和参数列表类型都一样)的重载存储过程。 不能创建与函数拥有相同名称和参数列表的存储过程。 不支持仅默认值不同的存储过程重载。 存储过程仅in、out、inout这三种类型不同的参数,打开GUC
数组和record 数组 record 父主题: 存储过程
内容进行操作,例如GaussDB可对数值型数据进行加、减、乘、除等操作。 XML类型数据支持作为存储过程的入参、出参、自定义变量、返回值。支持自治事务的存储过程。 父主题: 存储过程
调用一个语句的语法请参见图1。 图1 call_clause::= 对以上语法格式的解释如下: procedure_name:存储过程名。 parameter:存储过程的参数,可以没有或者有多个参数。 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
构如下: 声明部分:声明PL/SQL用到的变量、类型、游标、局部的存储过程和函数。 DECLARE 不涉及变量声明时声明部分可以没有。 对匿名块来说,没有变量声明部分时,可以省去DECLARE关键字。 对存储过程来说,没有DECLARE, AS相当于DECLARE。即便没有变量声明的部分,关键字AS也必须保留。
数据类型转换 数据库中有些数据类型间允许进行隐式类型转换(例如赋值、函数调用的参数等)、有些数据类型间不允许进行隐式数据类型转换(例如int),可尝试使用GaussDB提供的类型转换函数,例如CAST进行数据类型强转。 GaussDB数据库常见的隐式类型转换,请参见表1。 Gau
调用一个语句的语法请参见图1。 图1 call_clause::= 对以上语法格式的解释如下: procedure_name,为存储过程名。 parameter,为存储过程的参数,可以没有或者有多个参数。 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
作,也不支持定义表。 不支持以SCHEMA.PACKAGE.CUROSR的形式引用cursor变量。 带参数的CURSOR仅支持在当前PACKAGE内打开。 父主题: 存储过程
引用嵌套的列值时,若存在数组下标,目前仅支持在前三层列中只存在一个小括号情况,建议使用方括号[ ]引用下标; INTO/BULK COLLECT INTO 将存储过程内语句返回的值存储到变量内,BULK COLLECT INTO允许将部分或全部返回值暂存到数组内部。 示例: openGauss=# DECLARE
一种数据类型,GaussDB根据数据类型有相应函数对其内容进行操作,例如GaussDB可对数值型数据进行加、减、乘、除操作。 父主题: 存储过程