MS-SQL 쿼리문인데요...오라클에선 가능할진 모르겟지만 함 테스트해보세요
-- ■ in 쿼리시 두개이상의 데이터 반환시 오류가 발생하게 된다.
update tbchorang set sJoinDate = '' where lMemberID in (select lMemberID from eplus2_001.dbo.tbMember tm where tm.lMemberID = lMemberID)
-- ■ 아래 쿼리의 경우 괄호() 안의 쿼리가 1건 이상의 데이터를 반환시 오류가 발생하게 된다.
update tbSeaPhase set lStoreID = (select top 1 lStoreID from tbSeaPhaseStore B where B.lSeaPhaseID = lSeaPhaseID)
where sDate = '20050901' and lSeaPhaseID = 6
-- ■ 다른테이블과 조인해서 다른테이블의 특정필드 값을 넣기
[설명문 - 테스트결과 : 실패 update 구문의 테이블A 에 대해서 이니셜을 주면 안된다.]
update 테이블A set 테이블A.사번=b.사번, 테이블A.성명=b.성명, 테이블A.입사일=b.입사일 From 테이블A a join 테
이블B b on a.사번=b.사번 WHERE 사번<>'0003'
[실제테스트 - 테스트성공]
update tbGoodsDetail set rNowStock = rNowStock + tosd.rGoodsCount
from tbGoodsDetail tgd inner join tbOrderSlipDetail tosd on (tgd.lStoreID = 1 and tgd.lGoodsID = tosd.lGoodsID)
where tosd.lOrderSlipID = 1
update tbGoodsDetail set rNowStock = rNowStock - tosd.rGoodsCount
from tbGoodsDetail tgd inner join tbOrderSlipDetail tosd on (tgd.lStoreID = 1 and tgd.lGoodsID = tosd.lGoodsID)
where tosd.lOrderSlipID = 1