检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
在编写PL/SQL过程中,会定义一些变量,给变量赋值,调用其他存储过程等。介绍PL/SQL中的基本语句,包括定义变量、赋值语句、调用语句以及返回语句。 尽量不要在存储过程中调用包含密码的SQL语句,因为存储在数据库中的存储过程文本可能被其他有权限的用户看到导致密码信息被泄漏。如果存储过程中包含其他敏感
存储过程支持自治事务 自治事务可以在存储过程中定义,标识符为PRAGMA AUTONOMOUS_TRANSACTION,其余语法与创建存储过程语法相同,示例如下。 --建表 gaussdb=# create table t2(a int, b int); CREATE TABLE
存储过程支持自治事务 自治事务可以在存储过程中定义,标识符为PRAGMA AUTONOMOUS_TRANSACTION,其余语法与创建存储过程语法相同,示例如下。 --建表 create table t2(a int, b int); insert into t2 values(1
存储过程支持自治事务 自治事务可以在存储过程中定义,标识符为PRAGMA AUTONOMOUS_TRANSACTION,其余语法与创建存储过程语法相同,请参见CREATE PROCEDURE,示例如下。 --建表 gaussdb=# CREATE TABLE t2(a INT, b
存储过程支持自治事务 自治事务可以在存储过程中定义,标识符为PRAGMA AUTONOMOUS_TRANSACTION,其余语法与创建存储过程语法相同,请参见CREATE PROCEDURE,示例如下。 --建表 gaussdb=# CREATE TABLE t2(a INT, b
RETURN 语法 返回语句的语法请参见图1。 图1 return_clause::= 对以上语法的解释如下: 用于将存储过程或函数返回结果赋值给调用者。 示例 请参见调用语句的示例。 父主题: 返回语句
在编写PL/SQL过程中,会定义一些变量,给变量赋值,调用其他存储过程等。介绍PL/SQL中的基本语句,包括定义变量、赋值语句、调用语句以及返回语句。 尽量不要在存储过程中调用包含密码的SQL语句,因为存储在数据库中的存储过程文本可能被其他有权限的用户看到导致密码信息被泄漏。如果存储过程中包含其他敏感
在编写PL/SQL过程中,会定义一些变量,给变量赋值,调用其他存储过程等。介绍PL/SQL中的基本语句,包括定义变量、赋值语句、调用语句以及返回语句。 尽量不要在存储过程中调用包含密码的SQL语句,因为存储在数据库中的存储过程文本可能被其他有权限的用户看到,从而导致密码信息泄漏。如果存储过程中包含其他敏
proc_while_loop(10); --删除存储过程和表 DROP PROCEDURE proc_while_loop; DROP TABLE integertable; FOR_LOOP(integer变量)语句 语法图 图3 for_loop::= 变量name会自动定义为intege
声明部分:声明PL/SQL用到的变量,类型及游标,以及局部的存储过程和函数。 DECLARE 不涉及变量声明时声明部分可以没有。 对匿名块来说,没有变量声明部分时,可以省去DECLARE关键字。 对存储过程来说,没有DECLARE, AS相当于DECLARE。即便没有变量声明的部分,关键字AS也必须保留。
声明部分:声明PL/SQL用到的变量、类型、游标、局部的存储过程和函数。 DECLARE 不涉及变量声明时声明部分可以没有。 对匿名块来说,没有变量声明部分时,可以省去DECLARE关键字。 对存储过程来说,没有DECLARE, AS相当于DECLARE。即便没有变量声明的部分,关键字AS也必须保留。
声明部分:声明PL/SQL用到的变量、类型、游标以及局部的存储过程和函数。 DECLARE 不涉及变量声明时声明部分可以没有。 对匿名块来说,没有变量声明部分时,可以省去DECLARE关键字。 对存储过程来说,没有DECLARE, AS相当于DECLARE。即便没有变量声明的部分,关键字AS也必须保留。
DBE_PLDEBUGGER.set_var 将指定的调试的存储过程中最上层栈上的变量修改为入参的取值。如果存储过程中包含同名的变量,set_var只支持第一个变量值的设置。 表1 set_var入参和返回值列表 名称 类型 描述 var_name IN text 变量名 value IN text 修改值
密态支持函数/存储过程 密态支持函数/存储过程,当前版本只支持sql和plpgsql两种语言。由于密态支持存储过程中创建和执行函数/存储过程对用户是无感知的,因此语法和非密态无区别。 函数/存储过程语法参考《开发指南》中“用户自定义函数”章节和“存储过程”章节。 密态等值查询支持
密态支持函数/存储过程 密态支持函数/存储过程,当前版本只支持sql和plpgsql两种语言。 由于密态支持存储过程中创建和执行函数/存储过程对用户是无感知的,因此语法和非密态无区别。 函数/存储过程语法参考《开发指南》中“用户自定义函数”章节和“存储过程”章节。 密态等值查询支
record类型变量的赋值支持: 在函数或存储过程的声明阶段,声明一个record类型,并且可以在该类型中定义成员变量。 一个record变量到另一个record变量的赋值。 SELECT INTO和FETCH向一个record类型的变量中赋值。 将一个NULL值赋值给一个record变量。
record类型变量的赋值支持: 在函数或存储过程的声明阶段,声明一个record类型,并且可以在该类型中定义成员变量。 一个record变量到另一个record变量的赋值。 SELECT INTO和FETCH向一个record类型的变量中赋值。 将一个NULL值赋值给一个record变量。
record类型的变量的赋值支持: 在函数或存储过程的声明阶段,声明一个record类型,并且可以在该类型中定义成员变量。 一个record变量到另一个record变量的赋值。 SELECT INTO和FETCH向一个record类型的变量中赋值。 将一个NULL值赋值给一个record变量。
DBE_PLDEBUGGER.set_var 将指定的调试的存储过程中最上层栈上的变量修改为入参的取值。如果存储过程中包含同名的变量,set_var只支持第一个变量值的设置。 表1 set_var入参和返回值列表 名称 类型 描述 var_name IN text 变量名 value IN text 修改值
注意事项 不能在该循环语句中对查询的表进行更新操作。 变量loop_name会自动定义且只在此循环中有效,类型和select_statement的查询结果类型一致。loop_name的取值就是select_statement的查询结果。 变量loop_name在编译过程中不会解析具体的类