Конференция "Базы" » Использование триггера на вставку для коррекции входных данных [D7, MSSQL]
 
  • greg123 (10.09.08 09:11) [0]
    Добрый день!
    Хочу написать триггер, который проверял бы вставляемые значения и при необходимости заменял их на корректные.
    Текст триггера:
    CREATE TRIGGER CHECK_OSR ON dbo.FILE_LIST
    FOR INSERT
    AS
    UPDATE c SET c.date_zagr = null FROM inserted i
    INNER JOIN dbo.FILE_LIST c ON i.id_file = c.id_file
    where i.date_zagr = '12.30.1899'

    UPDATE c SET c.date_create = null FROM inserted i
    INNER JOIN dbo.FILE_LIST c ON i.id_file = c.id_file
    where i.date_create = '12.30.1899'

    UPDATE c SET c.fam = trim(c.fam) FROM inserted i
    INNER JOIN dbo.FILE_LIST c ON i.id_file = c.id_file

    Воспос: правильно ли я использую inserted, потому что в IB
    пишется гораздо проще (без всяких апдейтов).
    Например:
    if (new.fam is not null) then new.fam=trim(new.fam); else new.fam='';
    if (new.date_create='30.12.1899') then new.date_create=nil;

    Заранее спасибо
  • Медвежонок Пятачок © (10.09.08 09:19) [1]
    INSTEAD OF
  • greg123 (10.09.08 09:38) [2]
    А как именно использовать INSTEAD OF?
  • Johnmen © (10.09.08 09:39) [3]
    Спроси у BOL'а
 
Конференция "Базы" » Использование триггера на вставку для коррекции входных данных [D7, MSSQL]
Есть новые Нет новых   [134435   +35][b:0][p:0]