kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20180604152338_KRETA_5377/sp_CheckTanuloEgyszerAdhatoTanuloErtekelesValidation.sql
2024-03-13 00:33:46 +01:00

65 lines
1.8 KiB
Transact-SQL

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_CheckTanuloEgyszerAdhatoTanuloErtekelesValidation]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_CheckTanuloEgyszerAdhatoTanuloErtekelesValidation]
END
GO
-- =============================================
-- Description: <Ellenőrizzuk, hogy a tanulónak van-e már egyszer adható tanuló értékelése, ha nincs akkor true, ha van akkor false>
-- =============================================
CREATE PROCEDURE [dbo].[sp_CheckTanuloEgyszerAdhatoTanuloErtekelesValidation]
@pId INT
,@pTipusId INT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets frominterfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @TanuloId INT
DECLARE @TantargyId INT
DECLARE @TanuloOsztalyEvfolyamId INT
SELECT
@TanuloId = TanuloErtekeles.C_TANULOID
,@TantargyId = TanuloErtekeles.C_TANTARGYID
,@TanuloOsztalyEvfolyamId = OsztalyCsoport.C_EVFOLYAMTIPUSA
FROM
T_TANULOERTEKELES_OSSZES TanuloErtekeles
LEFT JOIN
T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON
OsztalyCsoport.ID = TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID
AND OsztalyCsoport.TOROLT = 'F'
WHERE
TanuloErtekeles.ID = @pId
IF EXISTS (
SELECT 1
FROM
T_TANULOERTEKELES_OSSZES TanuloErtekeles
INNER JOIN T_OSZTALYCSOPORT_OSSZES Osztaly ON
Osztaly.ID = TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID
AND Osztaly.TOROLT = 'F'
AND Osztaly.C_EVFOLYAMTIPUSA = @TanuloOsztalyEvfolyamId
WHERE
TanuloErtekeles.TOROLT = 'F'
AND TanuloErtekeles.C_TIPUSID = @pTipusId
AND TanuloErtekeles.C_TANULOID = @TanuloId
AND TanuloErtekeles.ID != @pId
AND (@TantargyId IS NOT NULL AND @TantargyId = TanuloErtekeles.C_TANTARGYID OR
@TantargyId IS NULL AND TanuloErtekeles.C_TANTARGYID IS NULL)
)
SELECT 1
ELSE
SELECT 0
END
GO