oracle8i中没有此功能,oracle9i中有merge可以实现此功能
MERGE INTO copy_emp c
USING employees e
ON (c.employee_id = e.employee_id)
WHEN MATCHED THEN
UPDATE SET
...
WHEN NOT MATCHED
MERGE INTO copy_emp c
USING employees e
ON (c.employee_id = e.employee_id)
WHEN MATCHED THEN
UPDATE SET
...
WHEN NOT MATCHED THEN
INSERT VALUES...;
MERGE INTO copy_emp c
USING employees e
ON (c.employee_id = e.employee_id)
WHEN MATCHED THEN
UPDATE SET
...
WHEN NOT MATCHED
MERGE INTO copy_emp c
USING employees e
ON (c.employee_id = e.employee_id)
WHEN MATCHED THEN
UPDATE SET
...
WHEN NOT MATCHED THEN
INSERT VALUES...;
解决方案 »
- oracle存储过程中如何取不在一个数字范围并且不在另一个数字范围
- 连号查断号sql
- 为什么我的oracle9i里没有oracle enterprise manager console??
- 问一个很简单的问题
- 求助:Oracle 10g在cmd中用sqlplus提示ora-12560错误
- 怎样在触发器中得到Index-by表中的记录??
- ORA-06553错误什么意思?
- 如何用oracle存贮空间数据
- 有兴趣的可以看看,测一下自己的水平,我公司的Oracle试题四(员工上岗考证,没想到这么难)?
- 查询的错误!
- 请问ORACLE有没有生成汉字拼单字头的函数?
- distinct和group by的区别
merge into table_a a
using (select key_val,val1,val2,... from dual b) s
on (a.key_value=s.key_value)
when matched then
update set a.xxx=s.xxx,....
when not matched then
insert (a.xxx,a.xxxx,.....)
values(s.xxx,s.xxxx,......);