求SQL触发器,高手来看 搞的出来的重谢

来源:百度知道 编辑:UC知道 时间:2024/05/10 07:48:07
首先是一个游戏的MSSQL数据库
现在我想要 一个等级达到50级触发送物品触发器
有高手会吗?
附上帐号初次上线送物品触发 做参考!

CREATE TRIGGER [NewUserCard] ON [dbo].[user]
FOR INSERT
AS

DECLARE @strUserID AS varchar(16)
SELECT @strUserID = account FROM [INSERTED]
BEGIN
INSERT INTO [give_itemlist]( account, item_id, cnt ) values( @strUserID, 411, 1 ) INSERT INTO [give_itemlist]( account, item_id, cnt ) values( @strUserID, 420, 1 ) INSERT INTO [give_itemlist]( account, item_id, cnt ) values( @strUserID, 429, 1 ) INSERT INTO [give_itemlist]( account, item_id, cnt ) values( @strUserID, 438, 1 ) INSERT INTO [give_itemlist]( account, item_id, cnt ) values( @strUserID, 456, 1 ) INSERT INTO [give_itemlist]( account, item_id, cnt ) values( @strUserID, 465, 1 INSERT INTO [give_itemlist]( account, item_id, cnt ) values( @strUserID, 474, 1 )
INSERT INTO [give_itemlist]( account, item_id, cnt ) values( @strUserID, 483,1 )
INSERT INTO [give_itemlist]( account, item_id, c

CREATE TRIGGER NewUserCard ON user
FOR INSERT,update
AS
BEGIN --不知道你的等级字段是哪个字段,暂时用degree来代替
DECLARE @strUserID varchar(16),@degree int
SELECT @strUserID=account,@degree=degree FROM INSERTED
--下面对等级进行判断
if @degree=1 --刚注册上线的级别为1,如果为零,那么就把1改成0
begin
--这个地方写insert语句,具体的是哪些我不清楚,你自己写就行了
end
if @degree=50 --等级达到50级
begin
--这个地方写insert语句,具体的是哪些我不清楚,你自己写就行了
end
/*INSERT INTO give_itemlist( account, item_id, cnt ) values( @strUserID, 411, 1 )
INSERT INTO give_itemlist( account, item_id, cnt ) values( @strUserID, 420, 1 )
INSERT INTO give_itemlist( account, item_id, cnt ) values( @strUserID, 429, 1 )
INSERT INTO give_itemlist( account, item_id, cnt ) values( @strUserID, 438, 1 )
INSERT INTO give_itemlist( account, item_id, cnt ) values( @strUserID, 456, 1 )
INSERT INTO give_itemlist( account, item_id, cnt ) values( @strUserID, 465, 1