返回首页

gbase数据、南大通用产品文档:GBase8aFUNCTIONS

更新日期:2024年09月11日

功能说明
显示系统内的udf 函数信息。
表结构说明
表5- 214 表结构信息说明:




FUNC_NAME
UDF 函数名
RETURN_TYPE
函数返回名
FUNC_TYPE
函数类型,UDF

MERGE 语句允许您对源表与目标表的一个外部连接的结果应用布尔条件。如果 MERGE
语句包括 Update 子句,则对目标在 UPDATE 操作中使用那些满足您在 ON 关键字之后

GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司 - 177 -

指定的连接条件的行。
MERGE 语句的 SET 子句支持与 UPDATE 语句的 SET 子句相同
的语法,并指定要更新的目标表的哪些列。
下例示例展示您可如何使用 MERGE 语句的 Update 子句来更新目标表:
MERGE INTO t_target AS t USING t_source AS s ON t.col_a = s.col_a
WHEN MATCHED THEN UPDATE
SET t.col_b = t.col_b + s.col_b ;
在前一示例中,目标表的名称为 t_target,源表的名称为 t_source。对于在源表与目标表中
其 col_a 都有相同的值的连接结果的行,MERGE 语句通过将源表中 col_b 列的值添加
到 t_target 表中 col_b 列的当前值来更新 t_target 表。
MERGE 语句的 UPDATE 操作不修改源表,且不可更新目标表中的任何行超过一次。
单个 MERGE 语句可同时组合 UPDATE 与 INSERT 操作,或可同时组合 DELETE 与
INSERT 操作而不需要删除子句。要了解不包括 Update 子句的 MERGE 的不同的示例,
请参阅主题 MERGE 的 Delete 子句

功能描述
RELEASE SAVEPOINT 删除一个当前事务先前定义的保存点。
把一个保存点删除就令其无法作为回滚点使用,除此之外它没有其它用户可见的行为。
它并不能撤销在保存点建立起来之后执行的命令的影响。要撤销那些命令可以使用
ROLLBACK TO SAVEPOINT 。在不再需要的时候删除一个保存点可以令系统在事务结束
之前提前回收一些资源。
RELEASE SAVEPOINT 也删除所有在指定的保存点建立之后的所有保存点。
注意事项
不能RELEASE 一个没有定义的保存点,语法上会报错。
如果事务在回滚状态,则不能释放保存点。

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
1213
如果多个保存点拥有同样的名称,只有最近定义的那个才被释放。
语法格式
RELEASE [ SAVEPOINT ] savepoint_name;
参数说明

savepoint_name
要删除的保存点的名称。
示例
--创建一个新表。
CREATE TABLE tpcds.table1(a int);
--开启事务。
START TRANSACTION;
--插入数据。
INSERT INTO tpcds.table1 VALUES (3);
--建立保存点。
SAVEPOINT my_savepoint;
--插入数据。
INSERT INTO tpcds.table1 VALUES (4);
--删除保存点。
RELEASE SAVEPOINT my_savepoint;
--提交事务。
COMMIT;
--查询表的内容,会同时看到3 和4。
SELECT * FROM tpcds.table1;
--删除表。
DROP TABLE tpcds.table1;
相关链接

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
1214
SAVEPOINT,ROLLBACK TO SAVEPOINT