检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
游标概述 为了处理SQL语句,存储过程进程分配一段内存区域来保存上下文联系。游标是指向上下文区域的句柄或指针。借助游标,存储过程可以控制上下文区域的变化。 当游标作为存储过程的返回值时,如果使用JDBC调用该存储过程,返回的游标将不可用。 游标的使用分为显式游标和隐式游标。对于不
GaussDB(DWS)存储过程高级包 DBMS_LOB DBMS_RANDOM DBMS_OUTPUT UTL_RAW DBMS_JOB DBMS_SQL 父主题: GaussDB(DWS)存储过程
GaussDB(DWS)存储过程控制语句 返回语句 条件语句 循环语句 分支语句 空语句 错误捕获语句 GOTO语句 父主题: GaussDB(DWS)存储过程
TCH和CLOSE语句。下面要介绍的一种循环不需要这些操作,可以简化游标循环的操作,这种循环方式适用于静态游标的循环,不用执行静态游标的四个步骤。 语法 FOR AS循环的语法请参见图1。 图1 FOR_AS_loop::= 注意事项 不能在该循环语句中对查询的表进行更新操作。
GaussDB(DWS)存储过程控制语句 返回语句 条件语句 循环语句 分支语句 空语句 错误捕获语句 GOTO语句 父主题: GaussDB(DWS)存储过程
TCH和CLOSE语句。下面要介绍的一种循环不需要这些操作,可以简化游标循环的操作,这种循环方式适用于静态游标的循环,不用执行静态游标的四个步骤。 语法 FOR AS循环的语法请参见图1。 图1 FOR_AS_loop::= 注意事项 不能在该循环语句中对查询的表进行更新操作。
L。 在GaussDB(DWS)中,数组会自动增长,访问越界会返回一个NULL,不会报错。越界写入数组会提示:Subscript outside of limit. 在存储过程中定义的数组类型,其作用域仅在该存储过程中。 建议选择上述定义方法的一种来自定义数组类型,当同时使用两种
GaussDB(DWS)存储过程数据类型转换 数据库中允许有些数据类型进行隐式类型转换(赋值、函数调用的参数等),有些数据类型间不允许进行隐式数据类型转换,可尝试使用GaussDB(DWS)提供的类型转换函数,例如CAST进行数据类型强转。 GaussDB(DWS)数据库常见的隐式类型转换,请参见表1。
L。 在GaussDB(DWS)中,数组会自动增长,访问越界会返回一个NULL,不会报错。越界写入数组会提示:Subscript outside of limit. 在存储过程中定义的数组类型,其作用域仅在该存储过程中。 建议选择上述定义方法的一种来自定义数组类型,当同时使用两种
显式游标 显式游标主要用于对查询语句的处理,尤其是查询结果为多条记录的情况。 处理步骤 显式游标处理需六个PL/SQL步骤: 定义静态游标:就是定义一个游标名,以及与其相对应的SELECT语句。 定义静态游标的语法图,请参见图1。 图1 static_cursor_define::=
使用开源客户端碰到此问题,可能原因: 数据库中存储的口令校验只存储了SHA256格式哈希,而开源客户端只识别MD5校验,双方校验方法不匹配报错。 数据库并不存储用户口令,只存储用户口令的哈希码。 早期版本(V100R002C80SPC300之前的版本)的数据库只存储了SHA256格式的哈希,并未存储MD5的哈希,所以无法使用MD5做用户口令校验。
GaussDB(DWS)存储过程数组和record 数组 record 父主题: GaussDB(DWS)存储过程
显式游标 显式游标主要用于对查询语句的处理,尤其是查询结果为多条记录的情况。 处理步骤 显式游标处理需六个PL/SQL步骤: 定义静态游标:就是定义一个游标名,以及与其相对应的SELECT语句。 定义静态游标的语法图,请参见图1。 图1 static_cursor_define::=
proc_cursor3(); --删除存储过程和临时表 DROP PROCEDURE proc_cursor3; DROP TABLE staffs_t1; DROP TABLE sections_t1; 父主题: GaussDB(DWS)存储过程游标
GaussDB(DWS)存储过程数据类型转换 数据库中允许有些数据类型进行隐式类型转换(赋值、函数调用的参数等),有些数据类型间不允许进行隐式数据类型转换,可尝试使用GaussDB(DWS)提供的类型转换函数,例如CAST进行数据类型强转。 GaussDB(DWS)数据库常见的隐式类型转换,请参见表1。
GaussDB(DWS)存储过程数组和record 数组 record 父主题: GaussDB(DWS)存储过程
proc_cursor3(); --删除存储过程和临时表 DROP PROCEDURE proc_cursor3; DROP TABLE staffs_t1; DROP TABLE sections_t1; 父主题: GaussDB(DWS)存储过程游标
record类型变量的赋值支持: 在函数或存储过程的声明阶段,声明一个record类型,并且可以在该类型中定义成员变量。 一个record变量到另一个record变量的赋值。 SELECT INTO和FETCH向一个record类型的变量中赋值。 将一个NULL值赋值给一个record变量。 不支
= 'woman'; END IF; END IF; 这种形式实际上就是在一个IF语句的ELSE部分嵌套了另一个IF语句。因此需要给每个嵌套的IF一个END IF语句,另外还需要一个END IF语句结束父IF-ELSE。如果有多个选项,可使用IF_THEN_ELSIF_ELSE形式。
record类型的变量的赋值支持, 在函数或存储过程的声明阶段,声明一个record类型,并且可以在该类型中定义成员变量。 一个record变量到另一个record变量的赋值。 SELECT INTO和FETCH向一个record类型的变量中赋值。 将一个NULL值赋值给一个record变量。 不支