Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.22;
Скачать: CL | DM;

Вниз

Как пользоваться тригеррами ....   Найти похожие ветки 

 
return   (2006-08-29 17:16) [0]

Как пользоваться тригеррами ? Как изменив одну таблицу, изменить несколько других автоматически?
Приведите пожалуйсто пример.


 
Ega23 ©   (2006-08-29 17:21) [1]


CREATE TRIGGER trigger_name
ON { table | view }
[ WITH ENCRYPTION ]
{
   { { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] }
       [ WITH APPEND ]
       [ NOT FOR REPLICATION ]
       AS
       [ { IF UPDATE ( column )
           [ { AND | OR } UPDATE ( column ) ]
               [ ...n ]
       | IF ( COLUMNS_UPDATED ( ) { bitwise_operator } updated_bitmask )
               { comparison_operator } column_bitmask [ ...n ]
       } ]
       sql_statement [ ...n ]
   }
}



 
Ega23 ©   (2006-08-29 17:22) [2]

Пример:

USE pubs
IF EXISTS (SELECT name FROM sysobjects
     WHERE name = "employee_insupd" AND type = "TR")
  DROP TRIGGER employee_insupd
GO
CREATE TRIGGER employee_insupd
ON employee
FOR INSERT, UPDATE
AS
/* Get the range of level for this job type from the jobs table. */
DECLARE @min_lvl tinyint,
  @max_lvl tinyint,
  @emp_lvl tinyint,
  @job_id smallint
SELECT @min_lvl = min_lvl,
  @max_lvl = max_lvl,
  @emp_lvl = i.job_lvl,
  @job_id = i.job_id
FROM employee e INNER JOIN inserted i ON e.emp_id = i.emp_id
  JOIN jobs j ON j.job_id = i.job_id
IF (@job_id = 1) and (@emp_lvl <> 10)
BEGIN
  RAISERROR ("Job id 1 expects the default level of 10.", 16, 1)
  ROLLBACK TRANSACTION
END
ELSE
IF NOT (@emp_lvl BETWEEN @min_lvl AND @max_lvl)
BEGIN
  RAISERROR ("The level for job_id:%d should be between %d and %d.",
     16, 1, @job_id, @min_lvl, @max_lvl)
  ROLLBACK TRANSACTION
END




Страницы: 1 вся ветка

Текущий архив: 2006.10.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.029 c
2-1159818990
AveyiS
2006-10-02 23:56
2006.10.22
Радио по сети


15-1159286723
nomen
2006-09-26 20:05
2006.10.22
Как бы сделать обогрев клавиатуры


8-1142951923
mobila
2006-03-21 17:38
2006.10.22
курсор на форме


15-1159866468
VitV
2006-10-03 13:07
2006.10.22
Посоветуйте програму.


1-1158156408
Так-то
2006-09-13 18:06
2006.10.22
Весь мир врет?