MS-SQL 쿼리문인데요... 0 0 2,552

by 우주해적하록 [2008.06.04 11:28:53]


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

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입