USE [LosaGame] GO /****** Object: StoredProcedure [dbo].[game_practice_set_data] Script Date: 11/08/2017 10:09:35 ******/ IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[game_practice_set_data]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[game_practice_set_data] GO USE [LosaGame] GO /****** Object: StoredProcedure [dbo].[game_practice_set_data] Script Date: 11/08/2017 10:09:35 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO --IF OBJECT_ID('dbo.game_practice_set_data','P') IS NOT NULL -- -- DROP PROC dbo.game_practice_set_data -- --GO -- ============================================= -- Subject : dbo.game_practice_set_data -- DBA : -- DATE : 2015-06-17 -- Description : 훈련 데이터 생성 -- ============================================= CREATE PROCEDURE [dbo].[game_practice_set_data] @ACCOUNT_IDX INT, -- 유저 인덱스 @PRACTICE_IDX INT, -- 연습 인덱스 @PRACTICE_GRADE INT, -- 수련장 등급 @PRACTICE_COUNT INT, -- 수련장 입장횟수 @PRACTICE_TIME INT, -- 수련장 시간 @PRACTICE_RANK INT -- 수련장 랭크 AS SET NOCOUNT ON; SET LOCK_TIMEOUT 10000; DECLARE @nReturn INT SET @nReturn=0 -- True BEGIN TRAN IF (EXISTS(SELECT * FROM dbo.userPracticeDB WITH (NOLOCK) WHERE AccountIDX = @ACCOUNT_IDX AND PracticeIDX = @PRACTICE_IDX)) BEGIN UPDATE dbo.userPracticeDB SET PracticeGrade = @PRACTICE_GRADE, PracticeCount=@PRACTICE_COUNT , PracticeTime=@PRACTICE_TIME, PracticeRank=@PRACTICE_RANK WHERE AccountIDX = @ACCOUNT_IDX AND PracticeIDX = @PRACTICE_IDX; END ELSE BEGIN INSERT INTO dbo.userPracticeDB (AccountIDX, PracticeIDX, PracticeCount, PracticeGrade, PracticeTime, PracticeRank, UpdateDate, regDate) VALUES ( @ACCOUNT_IDX, @PRACTICE_IDX, @PRACTICE_COUNT, @PRACTICE_GRADE, @PRACTICE_TIME, @PRACTICE_RANK, GETDATE(), GETDATE()); END IF (@@ROWCOUNT = 0) or (@@ERROR <> 0) BEGIN ROLLBACK TRAN SELECT -1; RETURN; END COMMIT TRAN SELECT @nReturn; RETURN;