检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
PREPARE TRANSACTION 功能描述 为当前事务做两阶段提交的准备。 在命令之后,事务就不再和当前会话关联了;它的状态完全保存在磁盘上,它被提交成功的可能性非常高,即使是在请求提交之前数据库发生了崩溃也如此。 一旦准备好了,一个事务就可以在稍后用COMMIT PREPARED或
REASSIGN OWNED 功能描述 修改数据库对象的所有者。 REASSIGN OWNED用于将旧角色的数据库对象所有者改为新角色。 注意事项 REASSIGN OWNED常用于在删除角色之前的准备工作。 执行REASSIGN OWNED需要有旧角色和目标角色上的权限。 语法格式
START TRANSACTION; --插入数据。 gaussdb=# INSERT INTO tpcds.table1 VALUES (3); --建立保存点。 gaussdb=# SAVEPOINT my_savepoint; --插入数据。 gaussdb=# INSERT
RESET 功能描述 RESET将指定的运行时参数恢复为缺省值。这些参数的缺省值是指postgresql.conf配置文件中所描述的参数缺省值。 RESET命令与如下命令的作用相同: SET configuration_parameter TO DEFAULT; 注意事项 RES
ROLLBACK 功能描述 回滚当前事务并取消当前事务中的所有更新。 在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的操作全部撤销,数据库状态回到事务开始时。 注意事项 如果不在一个事务内部发出ROLLBACK不会有问题,但是将抛出一个NOTICE信息。
SET ROLE 功能描述 设置当前会话的当前用户标识符。 注意事项 当前会话的用户必须是指定的rolename角色的成员,但系统管理员可以选择任何角色。 使用这条命令,它可能会增加一个用户的权限,也可能会限制一个用户的权限。如果会话用户的角色有INHERITS属性,则它自动拥有它能SET
SET TRANSACTION 功能描述 为事务设置特性。事务特性包括事务隔离级别、事务访问模式(读/写或者只读)。可以设置当前事务的特性(LOCAL),也可以设置会话的默认事务特性(SESSION),也可以设置当前数据库的全局会话的事务特性(GLOBAL)。 注意事项 设置当前事务特性需要在事务中执行(即执行SET
SHOW EVENTS 功能描述 显示指定SCHEMA下所有定时任务的基本信息。 注意事项 定时任务相关操作只有sql_compatibility = 'B'时支持。 语法格式 SHOW EVENTS [{FROM | IN} schema_name] [LIKE
gaussdb=# INSERT INTO t1 VALUES (2, 'lisi'); gaussdb=# INSERT INTO t1 VALUES (3, 'wangwu'); gaussdb=# INSERT INTO t1 VALUES (4, 'lisa'); gaussdb=# INSERT
START TRANSACTION 功能描述 通过START TRANSACTION启动事务。如果声明了隔离级别、读写模式,那么新事务就使用这些特性,类似执行了SET TRANSACTION。 语法格式 格式一:START TRANSACTION格式 START TRANSACTION
reason_t2 VALUES (1, 'AA', 'reason1'),(2, 'AB', 'reason2'),(3, 'AC', 'reason3'); INSERT 0 3 --清空tpcds.reason_t2表中的数据 gaussdb=# TRUNCATE TABLE tpcds
VALUES 功能描述 根据给定的值表达式计算一个或一组行的值。它通常用于在一个较大的命令内生成一个“常数表”。 注意事项 应当避免使用VALUES返回数量非常大的结果行,否则可能会出现内存耗尽或者性能低下的情况。出现在INSERT中的VALUES是一个特殊情况,因为目标字段类型
DROP EXTENSION 扩展功能为内部使用功能,不建议用户使用。 功能描述 删除一个扩展。 注意事项 DROP EXTENSION 命令从数据库中删除一个扩展。 在删除扩展的过程中,构成扩展的组件也会一起删除。 必须是扩展的拥有者才能够使用DROP EXTENSION命令。
基本结构 结构 PL/SQL块中可以包含子块,子块可以位于PL/SQL中任何部分。PL/SQL块的结构如下: 声明部分:声明PL/SQL用到的变量、类型、游标、局部的存储过程和函数。 DECLARE 不涉及变量声明时声明部分可以没有。 对匿名块来说,没有变量声明部分时,可以省去DECLARE关键字。
子程序 存储在数据库中的存储过程、函数、操作符和高级包等。当在数据库上建立好后,可以在其他程序中调用它们。 父主题: 声明语法
variable_name:变量名。 type:变量类型。 value:该变量的初始值(如果不给定初始值,则初始为NULL)。value也可以是表达式。 示例 1 2 3 4 5 6 7 gaussdb=# DECLARE emp_id INTEGER := 7788; --定义变量并赋值 BEGIN
因此对于带括号的表达式,不支持写在数组变量后面。如对于select (1+3) into va(5),不支持写为select into va(5) (1+3)或select into va[5] (1+3)。 INSERT INTO、UPDATE INTO、DELETE INTO、EXECUTION
返回语句 GaussDB提供两种方式返回数据:RETURN或RETURN NEXT及RETURN QUERY。其中,RETURN NEXT和RETURN QUERY只适用于函数,不适用存储过程。 RETURN RETURN NEXT及RETURN QUERY 父主题: 控制语句
IF语句结束父IF-ELSE。如果有多个选项,可使用下面的形式。 IF_THEN_ELSIF_ELSE 图3 IF_THEN_ELSIF_ELSE::= 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 gaussdb=#
循环语句 简单LOOP语句 语法图 图1 loop::= 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 gaussdb=# CREATE OR REPLACE PROCEDURE proc_loop(i