Files
2026-11-07 13:30:45 +07:00

81 lines
2.1 KiB
Transact-SQL

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;