Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
[Мануал] Создание собственных тригеров
#1
Любой тригер фактически пишется по шаблону. Шаблон с необходимыми комментариями показан ниже:
Код:
USE [ ]    -- Название используемой базы
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER [ ]        -- Название тригера
   ON  [dbo].[ ]        -- Название таблицы, к которой крепится тригер
   FOR UPDATE
AS
SET NOCOUNT ON;

    IF UPDATE ( )        -- Название поля, при обновлении которого выполняется тригер
BEGIN
            -- Тело тригера
            -- Здесь пишутся действия, которые должны происходить
            -- при выполнении тригера
END

END
Ниже приведён пример тригера, который ограничивает кач персов 65м уровнем после того, как они выполнили квест на разблокировку кача на 56м уровне.
Код:
USE [RF_WORLD_NOVUS]
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER [MaxLv]        
   ON  [dbo].[tbl_general]
   FOR UPDATE
AS
SET NOCOUNT ON;

    IF UPDATE (MaxLevel)    -- При обновлении поля MaxLevel в таблице tbl_general
BEGIN
    declare @serial int        -- Обьявляем переменную @serial типа int
    declare @MaxLv int        -- Обьявляем переменную @MaxLv типа int
    set @serial = (select serial from inserted)    -- Присваиваем переменной серийник персонажа у которого обновляется параметр MaxLevel
    set @MaxLv = (select MaxLevel from tbl_general where serial = @serial)    -- Присваиваем переменной параметр MaxLevel нужного нам перса
    if @MaxLv = 66            -- Если параметр @MaxLv равен 66му уровню, выполняется следующее действие
    BEGIN
        update tbl_general        -- Указываем, что вносим изменения в таблицу tbl_general
        set MaxLevel = 65        -- Присваиваем значение 65 параметру MaxLevel
        where serial = @serial    -- В строке, у которой параметр serial равен серийнику персонажа
    END                        -- у которого обновляется параметр MaxLevel
END

Мануал написал мной(MMd).
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Быстрое создание Авто Бекапа для RF в картинках nelegal 6 2,971 11-26-2009, 03:28 AM
Последний пост: nelegal

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)