Курстық жұмыс Тақырыбы: Деректер қорын құру және қосымшасын жүзеге асыру: жоо-ның ғылыми бөлімі Орындаған: Мұхамбетжанов Нұрдәулет Тобы: втко-спо курс Қабылдаған: Дүйсеғалиева Ә. Д. Ақтөбе 2023 жыл Мазмұны


Сурет 12. Енгізу процесінің нәтижесі



бет9/10
Дата16.09.2023
өлшемі1,31 Mb.
#108043
1   2   3   4   5   6   7   8   9   10
Байланысты:
Курстық жұмыс

Сурет 12. Енгізу процесінің нәтижесі
мәліметтердің енгізілгенін көре аламыз.Енді триггерді орындататын болсақ, бірінші триггер коды:
CREATE TRIGGER [dbo].[CheckBudgetLimit]
ON [dbo].[Budget]
FOR INSERT
AS
BEGIN
DECLARE @maxBudget INT = 50000
DECLARE @errorMessage NVARCHAR(100)

BEGIN TRY


IF EXISTS (
SELECT 1
FROM [inserted] i
WHERE i.BudgetAmount > @maxBudget
)
BEGIN
SET @errorMessage = 'Превышено максимальное значение: ' + CAST(@maxBudget AS NVARCHAR(10))
RAISERROR (@errorMessage, 16, 1)
END
END TRY
BEGIN CATCH
SET @errorMessage = 'Ошибка: ' + ERROR_MESSAGE()
EXEC sp_executesql N'select @errorMessage', N'@errorMessage NVARCHAR(100)', @errorMessage
END CATCH
END
арқылы жүзеге асады.Триггерді орындатқан сәтті бізге келесі терезе ашылады:

Сурет 13. Триггердің орындалуы
көріп тұрғанымыздай, 50,000 нан асқан мәнді біз енгізе алмадық, бұл триггер бірнеше процедурамен байланысты. Мына жағдайда 2 бірдей процедурамен.

CREATE PROCEDURE [dbo].[ShowErrorMessageBox]


@errorMessage NVARCHAR(100)
AS
BEGIN
DECLARE @MsgBoxStyle INT = 16 -- Критическая ошибка

EXEC sp_executesql N'EXEC dbo.sp_showMessageBox @errorMessage, @MsgBoxStyle', N'@errorMessage NVARCHAR(100), @MsgBoxStyle INT', @errorMessage, @MsgBoxStyle


END
және
CREATE PROCEDURE [dbo].[sp_showMessageBox]
@message NVARCHAR(100),
@style INT
AS
BEGIN
EXEC sp_executesql N'DECLARE @boxMessage NVARCHAR(100) = @message; EXECUTE dbo.sp_utilityMessageBox @boxMessage, @style', N'@message NVARCHAR(100), @style INT', @message, @style
END
процедуралары арқылы байланысты, себебі, триггер орындалмаған жағдайда бірінші процедура ал орындалған жағдайда екінші процедурада шығатын терезелер осы процедура арқылы жүзеге асады.




Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   10




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет