데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
아래는 sp 구문입니다.
이 구문에서 보시면 shop 아이템 시리얼 넘버를 하나씩 입력 하는것은 작동하나
멤버 테이블에서 머니 컬럼과 코인 컬럼이 다르면 두 컬럼 중 낮은 컴럼으로 업데이트를
하라라고 하고 싶은데..
같게는 되는데 높은 컴럼 값이 같게 업데이트 되는데..
어떻게 해야 하는지....;;;
CREATE Procedure [dbo].[TT_ShopItemSerial]
AS
BEGIN
DECLARE @ItemSerial int
SET NOCOUNT ON
begin transaction
update GameInfo set @ItemSerial = ShopItemCount = ShopItemCount+1
UPDATE MEMB SET Money = coin WHERE Money > Coin
UPDATE MEMB SET Coin = Money WHERE Money < Coin
if ( @@error <> 0 )
begin
rollback transaction
select -1
end
else
begin
commit transaction
select @ItemSerial
end
END
GO
Comment 1
-
아스날
2014.02.05 18:25
UPDATE MEMBSET Money = IIF(Money > Coin, Coin, Money),Coin = IIF(Coin > Money, Money, Coin)원하시는게 이게 맞는 지 모르겠네요