SQL запрос Trigger ( Авто награда TimePlay )Для 2.2.3.2
- =============================================
- Автор: Hanry Roslaw Saputra
- Дата создания: 20-12-2012
- Описание: AutoReward наличной TimePlaying
- Тип: запуск по SQL Server 2005 - 2008
- =============================================
Запуск SQL запросов
// RF_WORLD или же RF_WORLD_NOVUS
Код:
USE [RF_WORLD]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER [dbo].[AutoCash]
ON [dbo].[tbl_general]
FOR UPDATE
AS
BEGIN
SET NOCOUNT ON;
DECLARE @TimePlay int;
DECLARE @TSerial int;
DECLARE @DCK bit;
DECLARE @BSerial int;
DECLARE @BAccount varchar(17);
DECLARE @BDCK bit;
DECLARE @CSerial int;
DECLARE @CId varchar(17);
DECLARE @Cash int;
DECLARE @Bonus int;
DECLARE @TimeBonus int;
DECLARE @Reward int;
if update(TotalPlayMin)
begin
SELECT @TSerial = Serial, @DCK = DCK, @TimePlay = TotalPlayMin From Inserted
if (@TimePlay > 0 And @DCK = 0)
begin
SELECT @BSerial = Serial, @BAccount = Account, @BDCK = DCK From tbl_base Where Serial = @TSerial
if (@BSerial > 0 And @BDCK = 0)
begin
SET @TimeBonus = (@TimePlay*10)
SELECT @CSerial = serial, @CId = id, @Cash = Cash, @Bonus = Bonus From BILLING.dbo.tbl_UserStatus Where id = @BAccount
if (@TimeBonus > @Bonus And @CSerial > 0)
begin
SET @Reward = (@TimeBonus-@Bonus)
Update BILLING.dbo.tbl_UserStatus
SET Cash = (@Cash+@Reward), Bonus = @TimeBonus
Where id = @CId
end
end
end
end
END
GO
// Не забудьте добавить один столбец таблицы на BILLING tbl_UserStatus
Код:
Use [BILLING]
ALTER TABLE tbl_UserStatus
ADD Bonus int