触发器:新建人物送点和Mu币等的修改


Published:   Comment: No Comments

游戏数据库

  1. 如何知道奇迹数库里有多少个触发器?
    这要用到查寻数据库所有触发器的sql语句了,一般我们只要知道MuOnline这个数据库的所有这个数据触发器。就够了,下面用sql语句查询一下MuOnline这个数据库的所有触发器。

    select * from sysobjects where xtype='TR';--查询当前数据库所有的触发器
    请输入图片描述
    想看看某条触发器都干了什么事情,就要用到下面的语句

    exec sp_helptext 触发器名;

--如查询上面的"法师送点"这个触发器
exec sp_helptext 法师送点;
--得到如下结果:
CREATE TRIGGER 法师送点 ON dbo.[Character]
AFTER INSERT
AS
SET NOCOUNT ON
UPDATE Character SET Character.LevelUpPoint=6000
FROM Inserted
Where Inserted.Class=0
and Character.name=Inserted.name
SET NOCOUNT OFF
从结果我们知道是法师一创建后就送了6000点

  1. 删除触发器
    drop trigger 触发器名
  2. 修改触发器
    alter trigger 触发器名

        on {table_name | view_name}
        {for | After | Instead of }
        [ insert, update,delete ]
        as
        sql语句

    例如要把上面的6000点送点,改为1000点,执行下面语句

    alter TRIGGER 法师送点 ON dbo.[Character]
    AFTER INSERT
    AS
    SET NOCOUNT ON
    UPDATE Character SET Character.LevelUpPoint=1000
    FROM Inserted
    Where Inserted.Class=0
    and Character.name=Inserted.name
    SET NOCOUNT OFF

Last Modified:2024-06-26 12:05:18

我有话说