create table #imsi
(
country varchar(max),
gubun varchar(max),
gubun_size varchar(max),
itm_id int,
itm_cd int,
itm_nm varchar(max),
lotno varchar(max),
model varchar(max),
newno int,
oldno int,
out_dt date,
plan_dt date,
seq varchar(max),
serial varchar(max),
ship_car int,
ship_dt date,
ship_no int,
ship_yn varchar(max),
v_itemcode varchar(max),
work_dt date
)
insert into #imsi
(country, gubun, gubun_size, itm_id, itm_cd, itm_nm, lotno, model, newno,
oldno, out_dt, plan_dt, seq, serial, ship_car, ship_dt,
ship_no, ship_yn, v_itemcode, work_dt)
select x.country, x.gubun, x.gubun_size, x.itm_id, b.itm_cd, b.itm_nm, x.lotno, x.model, x.newno,
x.oldno, x.out_dt, x.plan_dt, x.seq, x.serial, x.ship_car, x.ship_dt,
x.ship_no, x.ship_yn,x.v_itemcode, x.work_dt
from sd0360 x
inner join dma100 b on x.itm_id = b.itm_id
left join sd0350 c on x.serial = c.serial
merge into SD0360 a
using (select x.country, x.gubun, x.gubun_size, x.itm_id, x.itm_cd, x.itm_nm, x.lotno, x.model, x.newno,
x.oldno, x.out_dt, x.plan_dt, x.seq, x.serial, x.ship_car, x.ship_dt,
x.ship_no, x.ship_yn,x.v_itemcode, x.work_dt
from #imsi x) d
on (a.model = d.model and a.plan_dt = d.plan_dt)
when not matched then
insert (gubun, gubun_size, itm_id, lotno, model, newno, oldno, out_dt, plan_dt, seq, serial, ship_car, ship_dt, ship_no,
ship_yn, v_itemcode, work_dt)
values (d.gubun, d.gubun_size, d.itm_id, d.lotno, d.model, d.newno, d.oldno, d.out_dt, d.plan_dt, d.seq, d.serial,d.ship_car, d.ship_dt, d.ship_no,
d.ship_yn, d.v_itemcode, d.work_dt );
end
임시테이블을 만들어서 merge를 사용해서 매치되지않는 값들만 집어넣으려고 하는데 실행하니까 테이블을 찾을 수 없다고 오류가 뜨네요 ㅠㅠ 문법적으로 오류가 있는것일가요? ㅠㅠ 조언 부탁드립니다
Comment 1
-
처리짱
2017.04.06 13:32
이거 mssql 구문 맞나요?