您当前的位置:首页 > 其他技术 > 其他技术

LUNA数据库的储存过程的修复

本文出处:网游动力作者:本站发布时间:2009-02-19阅读次数:
up_ItemMoneyLog




/*
080114 웅주, 오늘날짜에 해당하는 테이블에 로그를 저장한다
*/
CREATE PROCEDURE dbo.up_ItemMoneyLog (
    @FROMCHRIDX        INT, 
    @FROMCHRNAME    VARCHAR(16), 
    @TOCHRIDX        INT, 
    @TOCHRNAME        VARCHAR(16), 
    @LOGTYPE        SMALLINT,
    @FROMTOTALMONEY BIGINT,
    @TOTOTALMONEY    BIGINT,
    @CHANGEMONEY    BIGINT,
    @ITEMIDX        INT,
    @ITEMDBIDX        INT,
    @ITEMFROMPOS    INT,
    @ITEMTOPOS        INT,
    @ITEMDUR        INT,
             @RegDate                      DATETIME,
    @CHREXPPOINT    INT
)
AS
    SET NOCOUNT ON
    SET XACT_ABORT ON

    DECLARE @TABLE VARCHAR( 20 )
    SET @TABLE = 'TB_ITEM_LOG_' + CONVERT( VARCHAR( 8 ), GETDATE(), 112 )
    
    DECLARE @SQL VARCHAR( 1000 )

    SET @SQL = 'insert ' + @TABLE +
                ' ( LogType, FromChrName, FromChrIdx, ToChrName, ToChrIdx, FromTotalMoney, ToTotalMoney, ChangeMoney,' +
                '    ItemIdx, ItemDBIdx, ItemFromPos, ItemToPos, ItemDur,RegDate, ChrExpPoint ) VALUES (' +
                CAST( @LogType            AS VARCHAR( 20 ) ) + ',' +
                '''' + @FromChrName    + ''',' +
                CAST( @FromChrIdx        AS VARCHAR( 20 ) ) + ',' +
                '''' + @ToChrName    + ''',' +
                CAST( @ToChrIdx            AS VARCHAR( 20 ) ) + ',' +
                CAST( @FromTotalMoney    AS VARCHAR( 20 ) ) + ',' +
                CAST( @ToTotalMoney        AS VARCHAR( 20 ) ) + ',' +
                CAST( @ChangeMoney        AS VARCHAR( 20 ) ) + ',' +
                CAST( @ItemIdx            AS VARCHAR( 20 ) ) + ',' +
                CAST( @ItemDBIdx        AS VARCHAR( 20 ) ) + ',' +
                CAST( @ItemFromPos        AS VARCHAR( 20 ) ) + ',' +
                CAST( @ItemToPos        AS VARCHAR( 20 ) ) + ',' +
                CAST( @ItemDur        AS VARCHAR( 20 ) ) + ',' +
                                                     CAST( getdate()                               AS DATETIME ) + ',' +
                CAST( @ChrExpPoint        AS VARCHAR( 20 ) ) + ')'

                
    EXEC( @SQL )
    
    RETURN
    
    
    DECLARE @RANGE INT
    SET @RANGE = 200
    
    DECLARE @INDEX INT
    SET @INDEX = 0
    
    WHILE @INDEX < @RANGE
    BEGIN
        SET @INDEX = @INDEX + 1
        
        EXEC UP_ITEMMONEYLOG 802, '웅주님하', 802, '웅주님하', 2000, 0, 0, 1, 11000001, 1, 0, 1, 0, 0
        
        SELECT * FROM TB_ITEM_LOG_20080117
    END
    
    SELECT * FROM TB_ITEM_LOG_20080117 WHERE FROMCHRIDX = 802 OR TOCHRIDX = 802 ORDER BY REGDATE
    
    DELETE TB_ITEM_LOG_20080117 WHERE FROMCHRIDX = 802 OR TOCHRIDX = 802
    
    SELECT * FROM TB_LOGITEMMONEY
    
    SELECT GETDATE() + 0.01

GO