drop table G
Table dropped.
create table G (
ref int,
glabel char(10),
inst char(10),
dev char(3)
)
Table created.
insert into G(ref, glabel, inst, dev) values(10, ' ', ' ', 'USD')
1 row(s) inserted.
select * from G
REF | GLABEL | INST | DEV | 10 | USD |
---|
drop table I
ORA-00942: table or view does not existMore Details: https://docs.oracle.com/error-help/db/ora-00942
create table I (
ref int,
gkey int
)
Table created.
insert into I(ref, gkey) values(123, 10)
1 row(s) inserted.
select * from I
REF | GKEY | 123 | 10 |
---|
drop table M
ORA-00942: table or view does not existMore Details: https://docs.oracle.com/error-help/db/ora-00942
create table M (
ref int,
dev char(3),
gen int
)
Table created.
insert into M(ref, dev, gen) values(-1, 'USD', 1)
1 row(s) inserted.
select * from M
REF | DEV | GEN | -1 | USD | 1 |
---|
merge into M
using (
select I.ref,
G.dev,
G.glabel
from I join G on I.gkey = G.ref
) S
on (M.dev <> ' '
and M.dev = S.dev
--and case when M.gen > 0 then ' ' else '-1' end = S.glabel
)
when matched then update set M.ref = S.ref
Statement processed.
commit
Statement processed.
select * from M
REF | DEV | GEN | 123 | USD | 1 |
---|