Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.10.22;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.046 c
15-1159169977
Тугодум
2006-09-25 11:39
2006.10.22
В чем корни пассивности общества?


15-1159783567
Slider007
2006-10-02 14:06
2006.10.22
С днем рождения ! 28 сентября


4-1149174309
Валерий
2006-06-01 19:05
2006.10.22
Закрыть Internet Explorer


15-1159763347
Kati
2006-10-02 08:29
2006.10.22
Нужна помощь


2-1159963951
Sergey_b
2006-10-04 16:12
2006.10.22
Динамическое создание форм





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский