语法格式
语法格式
MERGE [INTO] [database_name.]table_name
USING table_reference
ON conditional_exp
[WHEN MATCHED THEN UPDATE SET col_name1=expr1 [, col_name2=expr2] ...
[WHEN NOT MATCHED THEN INSERT [(col_name3,...)] VALUES (expr3,...)]
参数说明
MERGE [INTO] [database_name.]table_name 部分,table_name 必须是表,不可
以是视图,可以使用别名。
USING table_reference 部分,table_reference 可以是表、查询或视图,只允许有
一个,可以使用别名。
UPDATE 部分不支持DELETE 子句。
UPDATE 部分和INSERT 部分不支持WHERE 子句。
UPDATE 部分和INSERT 部分可以省略,
但不可以同时省略,
否则报语法错误。
UPDATE 部分和INSERT 部分位置不可以颠倒。
INSERT 的VALUES 部分不允许使用MERGE 表
UPDATE 或INSERT 中的列如果出现多次,不会报错,后指定的列生效,但建
议不要依赖于该行为,避免这样使用。
不允许一对多更新:如果MERGE 表中的一行与USING 表中的多行符合连接
条件,则报错。
GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 734