Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
0 / 0 / 1
Регистрация: 09.03.2015
Сообщений: 12

Триггер

12.04.2015, 20:27. Показов 3532. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, есть триггер:

SQL
1
2
3
4
5
6
7
8
CREATE TRIGGER TEST_TRIGGER
ON WORKERS
AFTER INSERT
AS
    IF EXISTS (SELECT * FROM inserted
               WHERE salary>20000)
        ROLLBACK TRANSACTION
    ELSE SELECT * FROM inserted
как сделать так, чтобы при выполнении следующих действий в таблицу добавлялось две новые строчки? Триггер выполняется для каждой строчки отдельно, то есть проблема не в IF EXISTS

SQL
1
2
3
4
5
BEGIN TRAN
INSERT INTO workers VALUES(2,'a',100)
INSERT INTO workers VALUES(3,'b',21000)
INSERT INTO workers VALUES(4,'c',100)
COMMIT
Сейчас ничего не добавляется, а выдается ошибка:

Msg 3609, Level 16, State 1, Line 3
The transaction ended in the trigger. The batch has been aborted.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.04.2015, 20:27
Ответы с готовыми решениями:

Триггер для добавления к строке название таблицы, в которой содержится триггер
Есть таблицы База_Практик. В неё добавляю предприятие, и автоматически нужно добавить это предприятие с именем таблицы База практик в...

Триггер для добавления к строке название таблицы, в которой содержится триггер
Есть таблицы База_Практик. В неё добавляю предприятие, и автоматически нужно добавить это предприятие с именем таблицы База практик в...

Разработать триггер, запускаемый при занесении новой строки в таблицу. Триггер должен увеличивать счетчик ч
Разработать триггер, запускаемый при занесении новой строки в таблицу. Триггер должен увеличивать счетчик числа добавленных строк.

4
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
12.04.2015, 20:41
Избавиться от триггера и вместо него сделать check constraint.
0
0 / 0 / 1
Регистрация: 09.03.2015
Сообщений: 12
12.04.2015, 20:45  [ТС]
Я бы хотел именно с триггером разобраться.Как его переделать?
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
12.04.2015, 21:39
Цитата Сообщение от stive Посмотреть сообщение
Как его переделать?
Убрать rollback.
0
Эксперт Pascal/Delphi
 Аватар для xxbesoxx
1135 / 616 / 129
Регистрация: 13.02.2009
Сообщений: 3,600
13.04.2015, 02:08
Цитата Сообщение от stive Посмотреть сообщение
Я бы хотел именно с триггером
T-SQL
1
2
3
4
5
6
7
8
9
CREATE TRIGGER TEST_TRIGGER
ON WORKERS
AFTER INSERT
AS
 BEGIN
    IF (select salary FROM inserted)>'20000'
        ROLLBACK 
      PRINT('Зарплата больше 20000 недопустимо ')  
 END
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.04.2015, 02:08
Помогаю со студенческими работами здесь

Триггер
Ребята помогите нужно сделать триггер который автоматический вычисляет сумму. СУБД:SQL Server 2012 R2

Триггер
ALTER TRIGGER . ON . AFTER INSERT AS BEGIN if (select COUNT(*) from kurator999 where fio = (select fio from inserted))>0 ...

Триггер
У меня есть база данных, в которой имеются три таблицы. Нужен триггер, который будет изменять значение строки в одной таблице после...

Триггер?
как написать триггер, который обновляет поле ДАТА текущей датой каждой записи во время ее вставки (INSERT INTO) в БД. этот триггер...

Триггер
Здравствуйте. Помогите Помоги переделать код под триггер. Или сделать рабочим этот код WITH CTE AS ( SELECT...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
YAFU@home — распределённые вычисления для математики. На CPU
Programma_Boinc 20.01.2026
YAFU@home — распределённые вычисления для математики. На CPU YAFU@home — это BOINC-проект, который занимается факторизацией больших чисел и исследованием aliquot-последовательностей. Звучит. . .
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru