Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 02.10.2014
Сообщений: 136

Триггер на вставку, SQL

21.05.2016, 22:15. Показов 2323. Ответов 4

Студворк — интернет-сервис помощи студентам
Как правильно прописать условие, чтобы нельзя было оставлять пустое поле Diag?

SQL
1
2
3
4
5
6
7
8
9
10
11
CREATE TRIGGER InsPac
ON Pacient 
INSTEAD OF INSERT
AS
BEGIN
   SET NOCOUNT ON;
    IF EXISTS(SELECT * FROM inserted WHERE Diag=) BEGIN
        RAISERROR('Нельзя оставлять пустое поле',16,10)
        ROLLBACK
END;
GO
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.05.2016, 22:15
Ответы с готовыми решениями:

Реализовать пакетную вставку в БД (MS SQL) в зависимые друг от друга таблицы
Доброго времени суток, форумчане! Подскажите пожалуйста как можно реализовать пакетную вставку в БД (MS SQL) в зависимые друг от друга...

PL SQL триггер на вставку
триггер должен преобразовавыть номер телефон из 10 символов 3514556374 к виду (351)455-63-74 столбец номера телефона типа varchar 2 ...

Нужно добить триггер на вставку. PL SQL
CREATE OR REPLACE TRIGGER check_Phone_Number BEFORE INSERT ON emp REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW DECLARE ...

4
785 / 616 / 273
Регистрация: 04.08.2015
Сообщений: 1,713
21.05.2016, 22:57
SQL
1
WHERE Diag IS NULL
Если вы хотите запретить еще и пустую строку, то
SQL
1
WHERE (Diag IS NULL OR LEN(Diag)=0)
0
0 / 0 / 0
Регистрация: 02.10.2014
Сообщений: 136
21.05.2016, 23:37  [ТС]
Igr_ok, спасибо
0
0 / 0 / 0
Регистрация: 02.10.2014
Сообщений: 136
23.05.2016, 22:33  [ТС]
Igr_ok, а можно еще триггер на удаление спросить?
У меня таблица Clinic связана с таблицей Registry
вот триггер на удаление, но почему-то при удалении пишет ошибку:

The DELETE statement conflicted with the REFERENCE constraint "FK__Registry__ClID__1273C1CD". The conflict occurred in database "Clinics", table "dbo.Registry", column 'ClID'.

SQL
1
2
3
4
5
6
7
8
9
CREATE TRIGGER  ClDel 
ON Clinic
AFTER DELETE
AS
DECLARE @DelCl INT
SELECT @DelCl=ClID FROM deleted 
PRINT @DelCl
DELETE FROM Clinic WHERE ClID=@DelCl
GO
Добавлено через 52 секунды
а еще триггер на вставку запрещает вставлять любую запись в таблицу
0
785 / 616 / 273
Регистрация: 04.08.2015
Сообщений: 1,713
23.05.2016, 23:37
Если у вас есть внешний ключ(Foreyn key), то триггер вам не нужен. В дизайнере таблицы выберите Отношения и установите для этого отношения Удаление каскадно, как показано на скрине.

Что касается триггера на вставку, то он делает именно то, что вы написали. INSTEAD OF INSERT переводится "вместо вставки". Вам нужно было написать AFTER INSERT. И вообще, делать проверку значения в столбце в триггере нерационально. С таким же успехом можно сделать constrains. Поставить у столбца NOT NULL или создать CHECK.
https://msdn.microsoft.com/ru-... 20%29.aspx
Миниатюры
Триггер на вставку, SQL  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.05.2016, 23:37
Помогаю со студенческими работами здесь

Триггер на вставку
Приветствую всех :-) Есть схема БД NIS-PLATFORM в ней есть таблица ObjectsMotions: ...

Триггер, выполняющий вставку в связанную БД.
Смысл такой. Я сделал триггер, который при вставке записи в таблицу основной БД вставляет аналогичную в связанную БД. Проверяю, при вставке...

Триггер на вставку записей из таблицы, содержащей FK
Уважаемые участники форума, возможно кто либо из вас поможет с решением или с советом? Есть таблица `vehicles`, которая хранить в себе...

Триггер, который делает вставку в другую базу
Доброе время суток! У меня стоит тупая задача (не спрашивайте почему, и зачем, я знаю что такое криво) На одном сервере стоит...

Триггер запрет на вставку при условии не вхождения в диапазон даты
Есть таблица readers со столбцами (number, name, date_of_born, address, telephone, date_registration). Нужно написать триггер чтоб было...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru