Курсовая работа: Разработка прикладного программного обеспечения деятельности предприятия в системе клиент-сервер
go
ALTER TRIGGER [dbo].[T_tblPriem_ITrig] ON [dbo].[tblPriem] FOR INSERT AS
SET NOCOUNT ON
/* * ЗАПРЕТ ВСТАВКИ БЕЗ СОВПАДАЮЩЕГО КЛЮЧА В 'tblDoctor' */
IF (SELECT COUNT(*) FROM inserted) !=
(SELECT COUNT(*) FROM tblDoctor, inserted WHERE (tblDoctor.DoctorID = inserted.DoctorID))
BEGIN
RAISERROR 44447 Добавление и изменение записи не допускается. Правила целостности данных требуют наличия связанной записи в таблице "tblDoctor".'
ROLLBACK TRANSACTION
END
/* * ЗАПРЕТ ВСТАВКИ БЕЗ СОВПАДАЮЩЕГО КЛЮЧА В 'tblPacient' */
IF (SELECT COUNT(*) FROM inserted) !=
(SELECT COUNT(*) FROM tblPacient, inserted WHERE (tblPacient.Number = inserted.Number))
BEGIN
RAISERROR 44447 Добавление и изменение записи не допускается. Правила целостности данных требуют наличия связанной записи в таблице "tblPacient".'
ROLLBACK TRANSACTION
END
3.Триггеры на удаление данных
Для моей базы данных были написаны триггеры на удаление для всех таблиц .
Пример:
Для таблицы tblUniversity:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER TRIGGER [dbo].[T_tblUnivers_DTrig] ON [dbo].[tblUnivers] FOR DELETE AS
SET NOCOUNT ON
/* * Каскадные удаления в 'tblDoctor' */
DELETE tblDoctor FROM deleted, tblDoctor WHERE deleted.UniversityID = tblDoctor.UniversityID
Хранимые процедуры
При создании приложения при помощи Microsoft SQL Server язык программирования Transact-SQL является основным программным интерфейсом между приложениями и базой данных Microsoft SQL Server. Использование программ Transact-SQL подразумевает два способа хранения и выполнения.
· Можно хранить программы локально и создавать приложения, отправляющие команды SQL Server и обрабатывающие результаты.
· Можно хранить программы в виде хранимых процедур в SQL Server и создавать приложения, исполняющие хранимые процедуры и обрабатывающие результаты.