检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
IF; END; / INFO: v_user_id > 0 这种形式实际上就是在一个IF语句的ELSE部分嵌套了另一个IF语句。因此需要一个END IF语句给每个嵌套的IF,另外还需要一个END IF语句结束父IF-ELSE。如果有多个选项,可使用下面的形式。 IF_THEN_ELSIF_ELSE
以保证被引用的表在命令的执行过程中不会以一种不兼容的方式被删除或者修改。比如,在存在其他并发操作的时候,ALTER TABLE是不能在同一个表上执行的。 完整的锁操作请参见LOCK。 父主题: 其他语句
显式游标 显式游标主要用于对查询语句的处理,尤其是在查询结果为多条记录的情况下。 处理步骤 显式游标处理需六个PL/SQL步骤: 定义静态游标:就是定义一个游标名,以及与其相对应的SELECT语句。 定义静态游标的语法图,请参见图1。 图1 static_cursor_define::=
语句中不必明确定义游标。 兼容A模式下,GUC参数behavior_compat_options为compat_cursor时,隐式游标跨存储过程有效。 打开SMP相关GUC参数(设置GUC参数query_dop为大于1的值,plsql_beta_feature = 'enabl
Block)一般用于不频繁执行的脚本或不重复进行的活动。它们在一个会话中执行,并不被存储。 语法 匿名块的语法参见图1。 图1 anonymous_block::= 对以上语法图的解释如下: 匿名块程序实施部分,以BEGIN语句开始,以END语句停顿,以一个分号结束。输入“/”按回车执行它。 最后的结
GaussDB提供两种方式返回数据:RETURN或RETURN NEXT及RETURN QUERY。其中,RETURN NEXT和RETURN QUERY只适用于函数,不适用存储过程。 RETURN RETURN NEXT及RETURN QUERY 父主题: 控制语句
/ --调用函数 CALL proc_forall(); --查询存储过程调用结果 SELECT * FROM hdfs_t1 WHERE title BETWEEN 100 AND 120; --删除存储过程和表 DROP PROCEDURE proc_forall; DROP
空语句 在PL/SQL程序中,可以用NULL语句来说明“不用做任何事情”,相当于一个占位符,可以使某些语句变得有意义,提高程序的可读性。 语法 空语句的用法如下: 1 2 3 4 5 6 7 8 9 DECLARE … BEGIN … IF v_num IS
游标操作 GaussDB中游标(cursor)是系统为用户开设的一个数据缓冲区,存放着SQL语句的执行结果。每个游标区都有一个名称。用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理。 游标的操作主要有游标的定义、打开、获取和关闭。 完整的游标操作示例可参考显式游标。
CLOB NUMBER 原数据必须由数字组成。 INT4 CHAR - INT4 BOOLEAN - BOOLEAN INT4 - 父主题: 存储过程
expression [FROM ..] 通过基础 SQL 命令加INTO子句可以将单行或多列的结果赋值给一个变量(记录、行类型、标量变量列表)。 target参数可以是一个记录变量、一个行变量或一个有逗号分隔的简单变量和记录/行域列表。 STRICT选项,在开启参数set behavior_compat_options
GaussDB提供两种方式返回数据:RETURN或RETURN NEXT及RETURN QUERY。其中,RETURN NEXT和RETURN QUERY只适用于函数,不适用存储过程。 RETURN RETURN NEXT及RETURN QUERY 父主题: 控制语句
INFO: pi_return : 333 pi_return ----------- 333 (1 row) --删除存储过程 gaussdb=# DROP PROCEDURE proc_case_branch; DROP PROCEDURE 父主题: 控制语句
Block)一般用于不频繁执行的脚本或不重复进行的活动。它们在一个会话中执行,并不被存储。 语法 匿名块的语法参见图1。 图1 anonymous_block::= 对以上语法图的解释如下: 匿名块程序实施部分,以BEGIN语句开始,以END语句停顿,以一个分号结束。输入“/”按回车执行它。 最后的结
子程序 存储在数据库中的存储过程、函数和操作符及高级包等。当在数据库上建立好后,可以在其他程序中调用它们。 父主题: 声明语法
= 5;--赋值 emp_id := 5*7784; END; / INTO/BULK COLLECT INTO 将存储过程内语句返回的值存储到变量内,BULK COLLECT INTO允许将部分或全部返回值暂存到数组内部。 示例 openGauss=# DROP TABLE
IF; END; / INFO: v_user_id > 0 这种形式实际上就是在一个IF语句的ELSE部分嵌套了另一个IF语句。因此需要一个END IF语句给每个嵌套的IF,另外还需要一个END IF语句结束父IF-ELSE。如果有多个选项,可使用下面的形式。 IF_THEN_ELSIF_ELSE
'pi_return : %',pi_return ; END; / CALL proc_case_branch(3,0); --删除存储过程 DROP PROCEDURE proc_case_branch; 父主题: 控制语句
以保证被引用的表在命令的执行过程中不会以一种不兼容的方式被删除或者修改。比如,在存在其他并发操作的时候,ALTER TABLE是不能在同一个表上执行的。 完整的锁操作请参见LOCK。 父主题: 其他语句
游标操作 GaussDB中游标(cursor)是系统为用户开设的一个数据缓冲区,存放着SQL语句的执行结果。每个游标区都有一个名称。用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理。 游标的操作主要有游标的定义、打开、获取和关闭。 完整的游标操作示例可参考显式游标。