kreta/Kreta.DataAccess.Migrations/DBScripts/Database/dbo/Stored procedures/sp_FizikaiTorlesOrarendek.sql
2024-03-13 00:33:46 +01:00

72 lines
1.9 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS dbo.sp_FizikaiTorlesOrarendek
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
AS
BEGIN
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
UPDATE T_HAZIFELADATOK_OSSZES SET
TOROLT = 'T'
,C_ORARENDIORAID = NULL
,SERIAL += 1
,LASTCHANGED = GETDATE()
,MODIFIER = @pUserId
FROM T_HAZIFELADATOK_OSSZES
WHERE C_INTEZMENYID = @pIntezmenyId
AND C_TANEVID = @pTanevId
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 o
FROM T_ORAREND_OSSZES o
INNER JOIN T_ORARENDIORA_OSSZES oo ON oo.ID = o.C_ORARENDIORAID AND oo.C_TANEVID = o.C_TANEVID
WHERE o.C_TANEVID = @pTanevId
CREATE TABLE #TempFajlIDs (ID int)
DELETE fajlorarend
OUTPUT DELETED.C_FELTOLTOTTFAJLID INTO #TempFajlIDs
FROM T_FELTOLTOTTFAJL_ORARENDIORA fajlorarend
INNER JOIN T_FELTOLTOTTFAJL fajl ON fajl.ID = fajlorarend.C_FELTOLTOTTFAJLID
WHERE C_INTEZMENYID = @pIntezmenyId
AND C_TANEVID = @pTanevId
DELETE fajl FROM T_FELTOLTOTTFAJL fajl
INNER JOIN #TempFajlIDs ids ON ids.ID = fajl.ID
DELETE FROM
T_ORARENDIORA_OSSZES
WHERE C_INTEZMENYID = @pIntezmenyId
AND C_TANEVID = @pTanevId
END
GO