我正在使用Oracle 11g,我收到了一个问题。
我想做的是:
即。 DDL喜欢跟随。它几乎相同,但pk。
create table Tbl_A (
a_pk number constraints pk_tbl_a primary key
, b_pk number
, some_text varchar2(10)
, created date
, changed date
);
create table Tbl_B (
a_pk number
, b_pk number constraints pk_tbl_b primary key
, some_text varchar2(10)
, created date
, changed date
);
Psuedo我想要的东西:
create or replace procedure mv_data
is
begin
case when [if Tbl_B has same b_pk] then [update statement] end
else [create statement] end;
commit;
end;
case when
,但是我想要实现的就是这样。 MyBatis
可能是一个解决方案,但客户端只想用DB来实现这一点。(实际上,这项工作将由Oracle DBMS_SCHEDULE
执行)感谢您的答复:D
答案 0 :(得分:1)
作为valentin建议的MERGE解决方案的替代方案,您可以使用以下结构:
-source
答案 1 :(得分:0)