97 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
SET ANSI_NULLS ON
 | 
						|
GO
 | 
						|
SET QUOTED_IDENTIFIER ON
 | 
						|
GO
 | 
						|
 | 
						|
IF OBJECT_ID('[dbo].[sp_FizikaiTorlesTantargyfelosztas]') IS NOT NULL
 | 
						|
BEGIN
 | 
						|
  DROP PROCEDURE [dbo].[sp_FizikaiTorlesTantargyfelosztas]
 | 
						|
END
 | 
						|
GO
 | 
						|
 | 
						|
-- =============================================
 | 
						|
-- Description:	<Fizikailag töröljük az intézmény adott tanévére a tantárgyfelosztást>
 | 
						|
-- =============================================
 | 
						|
CREATE PROCEDURE [dbo].[sp_FizikaiTorlesTantargyfelosztas]
 | 
						|
	 @pIntezmenyId	INT
 | 
						|
	,@pTanevId		INT
 | 
						|
	,@pUserId		INT
 | 
						|
WITH EXECUTE AS 'kreta_tech_user'
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
 | 
						|
	BEGIN TRY
 | 
						|
	
 | 
						|
		DISABLE TRIGGER tr_orarendioraLog ON T_ORARENDIORA;
 | 
						|
		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_foglalkozasLog ON T_FOGLALKOZAS;
 | 
						|
 | 
						|
		-- SET NOCOUNT ON added to prevent extra result sets from
 | 
						|
		-- interfering with SELECT statements.
 | 
						|
		SET NOCOUNT ON;
 | 
						|
 | 
						|
		UPDATE T_ORARENDIORA_OSSZES SET
 | 
						|
			 C_FOGLALKOZASID = NULL
 | 
						|
			,SERIAL += 1
 | 
						|
			,LASTCHANGED = GETDATE()
 | 
						|
			,MODIFIER = @pUserId
 | 
						|
		FROM
 | 
						|
			T_ORARENDIORA_OSSZES
 | 
						|
		WHERE
 | 
						|
			C_INTEZMENYID = @pIntezmenyId AND
 | 
						|
			C_TANEVID = @pTanevId AND
 | 
						|
			C_FOGLALKOZASID IS NOT NULL
 | 
						|
 | 
						|
		UPDATE T_TANITASIORA_OSSZES SET
 | 
						|
			 C_FOGLALKOZASID = NULL
 | 
						|
			,SERIAL += 1
 | 
						|
			,LASTCHANGED = GETDATE()
 | 
						|
			,MODIFIER = @pUserId
 | 
						|
		FROM
 | 
						|
			T_TANITASIORA_OSSZES
 | 
						|
		WHERE
 | 
						|
			C_INTEZMENYID = @pIntezmenyId AND
 | 
						|
			C_TANEVID = @pTanevId AND
 | 
						|
			C_FOGLALKOZASID IS NOT NULL
 | 
						|
 | 
						|
		DELETE FROM
 | 
						|
			T_FOGLALKOZASOK_TANAROK
 | 
						|
		WHERE
 | 
						|
			T_FOGLALKOZASOK_TANAROK.C_FOGLALKOZASOKID IN (
 | 
						|
				SELECT ID
 | 
						|
				FROM
 | 
						|
					T_FOGLALKOZAS_OSSZES
 | 
						|
				WHERE
 | 
						|
					C_INTEZMENYID = @pIntezmenyId AND
 | 
						|
					C_TANEVID = @pTanevId
 | 
						|
			)
 | 
						|
 | 
						|
		DELETE FROM
 | 
						|
			T_FOGLALKOZAS_OSSZES
 | 
						|
		WHERE
 | 
						|
			C_INTEZMENYID = @pIntezmenyId AND
 | 
						|
			C_TANEVID = @pTanevId;
 | 
						|
	
 | 
						|
		ENABLE TRIGGER tr_orarendioraLog ON T_ORARENDIORA;
 | 
						|
		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_foglalkozasLog ON T_FOGLALKOZAS;
 | 
						|
 | 
						|
	END TRY
 | 
						|
 | 
						|
	BEGIN CATCH
 | 
						|
	
 | 
						|
		ENABLE TRIGGER tr_orarendioraLog ON T_ORARENDIORA;
 | 
						|
		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_foglalkozasLog ON T_FOGLALKOZAS;
 | 
						|
 | 
						|
	END CATCH;
 | 
						|
 | 
						|
END
 | 
						|
 | 
						|
 | 
						|
GO
 | 
						|
 |