oracle中merge into用法
时间: 2023-04-26 08:03:51 浏览: 142
MERGE INTO语句在Oracle数据库中用于合并两个表中的数据。语法格式为:
```
MERGE INTO [target_table] [alias]
USING [source_table] [alias]
ON ([condition])
WHEN MATCHED THEN
UPDATE SET [column1] = [value1], [column2] = [value2], ...
WHEN NOT MATCHED THEN
INSERT ([column1], [column2], ...) VALUES ([value1], [value2], ...);
```
其中:
- target_table和source_table分别代表目标表和源表。
- alias是表的别名。
- condition是用于匹配数据的条件。
- WHEN MATCHED THEN语句用于更新匹配的数据。
- WHEN NOT MATCHED THEN语句用于插入未匹配的数据。
示例:
```
MERGE INTO employees e
USING new_employees ne
ON (e.employee_id = ne.employee_id)
WHEN MATCHED THEN
UPDATE SET e.first_name = ne.first_name, e.last_name = ne.last_name
WHEN NOT MATCHED THEN
INSERT (e.employee_id, e.first_name, e.last_name)
VALUES (ne.employee_id, ne.first_name, ne.last_name);
```
这个示例将new_employees表中的数据与employees表中的数据进行合并,如果employee_id相同则更新,否则插入。
阅读全文