Files
2024-03-13 00:33:46 +01:00

87 lines
2.1 KiB
Transact-SQL

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_FizikaiTorlesOrarendek]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_FizikaiTorlesOrarendek]
END
GO
-- =============================================
-- Description: <Fizikailag töröljük az intézmény adott tanévére az órarendeket>
-- =============================================
CREATE PROCEDURE [dbo].[sp_FizikaiTorlesOrarendek]
@pIntezmenyId INT
,@pTanevId INT
,@pUserId INT
WITH EXECUTE AS 'kreta_tech_user'
AS
BEGIN
BEGIN TRY
DISABLE TRIGGER tr_tanitasioraLog ON T_TANITASIORA;
--NOTE: Egyelőre a törléseknél kiszedjük, lehet hogy kell a jövőben
--DISABLE TRIGGER tr_helyettesitesiidoszakLog ON T_HELYETTESITESIIDOSZAK;
--DISABLE TRIGGER tr_orarendioraLog ON T_ORARENDIORA;
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
UPDATE T_TANITASIORA_OSSZES SET
C_ORARENDIORAID = NULL
,SERIAL += 1
,LASTCHANGED = GETDATE()
,MODIFIER = @pUserId
FROM
T_TANITASIORA_OSSZES
WHERE
C_INTEZMENYID = @pIntezmenyId AND
C_TANEVID = @pTanevId AND
C_ORARENDIORAID IS NOT NULL
DELETE FROM
T_HELYETTESITESIIDOSZAK_OSSZES
WHERE
C_HELYETTESITETTORARENDID IN (
SELECT ID
FROM
T_ORARENDIORA_OSSZES
WHERE
C_INTEZMENYID = @pIntezmenyId AND
C_TANEVID = @pTanevId
) AND
C_INTEZMENYID = @pIntezmenyId AND
C_TANEVID = @pTanevId
DELETE FROM
T_ORARENDIORA_OSSZES
WHERE
C_INTEZMENYID = @pIntezmenyId AND
C_TANEVID = @pTanevId;
ENABLE TRIGGER tr_tanitasioraLog ON T_TANITASIORA;
--NOTE: Egyelőre a törléseknél kiszedjük, lehet hogy kell a jövőben
--ENABLE TRIGGER tr_helyettesitesiidoszakLog ON T_HELYETTESITESIIDOSZAK;
--ENABLE TRIGGER tr_orarendioraLog ON T_ORARENDIORA;
END TRY
BEGIN CATCH
ENABLE TRIGGER tr_tanitasioraLog ON T_TANITASIORA;
--NOTE: Egyelőre a törléseknél kiszedjük, lehet hogy kell a jövőben
--ENABLE TRIGGER tr_helyettesitesiidoszakLog ON T_HELYETTESITESIIDOSZAK;
--ENABLE TRIGGER tr_orarendioraLog ON T_ORARENDIORA;
END CATCH;
END
GO