Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / помогите с триггером для курсовой / 7 сообщений из 7, страница 1 из 1
20.05.2020, 14:41
    #39959863
harukato
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с триггером для курсовой
помогите составить триггер, который будет выводить сообщение о том что "запись на этот день уже есть"
мне друг накидал вариант, но он не рабочий.

CREATE TRIGGER tr_nz
ON dbo.Zapis
INSTEAD OF INSERT
AS
BEGIN
DECLARE @Data_ins date
DECLARE @Data_zap date
SET @Data_ins=(SELECT Data_zap FROM inserted WHERE id_patient=(SELECT id_patient FROM inserted))
SET @Data_zap=(SELECT MAX(Data_zap) FROM Zapis WHERE id_patient=(SELECT id_patient FROM inserted))
IF @Data_ins=@Data_zap
PRINT 'Данный пациент уже записан на эту дату дату!'
ELSE
INSERT INTO Zapis SELECT id_patient, Data_zap, id_servise, id_doctor FROM inserted
SET NOCOUNT ON;
END
...
Рейтинг: 0 / 0
20.05.2020, 15:21
    #39959883
londinium
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с триггером для курсовой
Что-то в таком духе
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
CREATE TRIGGER tr_nz
ON dbo.Zapis
INSTEAD OF INSERT
AS 
 BEGIN
   IF(EXISTS(SELECT 1 FROM dbo.Zapis AS Z JOIN INSERTED AS I ON Z.id_patient=I.id_patient AND Z.Data_zap=I.Data_zap))
     PRINT 'Данный пациент уже записан на эту дату дату!'
 END
 
...
Рейтинг: 0 / 0
20.05.2020, 15:26
    #39959889
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с триггером для курсовой
londinium
Что-то в таком духе
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
CREATE TRIGGER tr_nz
ON dbo.Zapis
INSTEAD OF INSERT
AS 
 BEGIN
   IF(EXISTS(SELECT 1 FROM dbo.Zapis AS Z JOIN INSERTED AS I ON Z.id_patient=I.id_patient AND Z.Data_zap=I.Data_zap))
     PRINT 'Данный пациент уже записан на эту дату дату!'
 END
 




При наличии такого триггера, в таблицу dbo.Zapis ни одна запись никогда не добавиться.
...
Рейтинг: 0 / 0
20.05.2020, 15:29
    #39959891
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с триггером для курсовой
msLex,

триггер вроде "перед", а не "после". Почему не вставится?
...
Рейтинг: 0 / 0
20.05.2020, 16:04
    #39959913
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с триггером для курсовой
Владислав Колосов
msLex,

триггер вроде "перед", а не "после". Почему не вставится?

INSTEAD OF это "вместо"
...
Рейтинг: 0 / 0
21.05.2020, 09:00
    #39960191
harukato
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с триггером для курсовой
.
...
Рейтинг: 0 / 0
21.05.2020, 09:02
    #39960192
harukato
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с триггером для курсовой
londinium
Что-то в таком духе
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
CREATE TRIGGER tr_nz
ON dbo.Zapis
INSTEAD OF INSERT
AS 
 BEGIN
   IF(EXISTS(SELECT 1 FROM dbo.Zapis AS Z JOIN INSERTED AS I ON Z.id_patient=I.id_patient AND Z.Data_zap=I.Data_zap))
     PRINT 'Данный пациент уже записан на эту дату дату!'
 END
 



а можете пояснить его?
я с триггерами не очень и такая форма записи мне не знакома.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / помогите с триггером для курсовой / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]