55 lines
No EOL
1.6 KiB
Transact-SQL
55 lines
No EOL
1.6 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS uspDeleteEgyediNapOsztalycsoport
|
|
GO
|
|
|
|
CREATE PROCEDURE uspDeleteEgyediNapOsztalycsoport
|
|
@pTanevRendjeId INT
|
|
,@pOsztalycsoportId INT
|
|
,@pIsKapcsolodoCsoportokIs CHAR(1)
|
|
,@pModifierId INT
|
|
AS BEGIN
|
|
SET NOCOUNT ON
|
|
|
|
DECLARE @napDatuma DATETIME, @osszesOsztalyraVonatkozik CHAR(1);
|
|
SELECT @napDatuma = C_DATUM, @osszesOsztalyraVonatkozik = C_OSSZESCSOPORTRAVONATKOZIK FROM T_TANEVRENDJE_OSSZES WHERE ID = @pTanevRendjeId
|
|
|
|
DECLARE @sql NVARCHAR(MAX) = '';
|
|
|
|
SET @sql += N'
|
|
UPDATE oo
|
|
SET
|
|
oo.TOROLT = ''T''
|
|
,LASTCHANGED = GETDATE()
|
|
,MODIFIER = @pModifierId
|
|
FROM T_ORARENDIORA_OSSZES AS oo
|
|
LEFT JOIN T_OSZTALYCSOPORT_TANEVRENDJE AS ocstr ON ocstr.C_OSZTALYCSOPORTID = oo.C_OSZTALYCSOPORTID
|
|
WHERE
|
|
oo.C_EGYEDINAP = ''T'' AND oo.C_ORAERVENYESSEGKEZDETE = @napDatuma AND oo.C_ORAERVENYESSEGVEGE = @napDatuma
|
|
AND oo.TOROLT = ''F''
|
|
'
|
|
|
|
IF(@pIsKapcsolodoCsoportokIs = 'T')
|
|
BEGIN
|
|
SET @sql += N'
|
|
AND oo.C_OSZTALYCSOPORTID IN (
|
|
SELECT ID FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @pOsztalycsoportId AND TOROLT = ''F''
|
|
UNION
|
|
SELECT ID FROM T_CSOPORT_OSSZES WHERE C_OSZTALYBONTASID = @pOsztalycsoportId AND TOROLT = ''F'')
|
|
'
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
SET @sql += N'
|
|
AND oo.C_OSZTALYCSOPORTID = @pOsztalycsoportId
|
|
'
|
|
END
|
|
|
|
EXEC sp_executesql @sql, N'
|
|
@napDatuma datetime
|
|
,@pOsztalycsoportId INT
|
|
,@pModifierId INT'
|
|
,@napDatuma = @napDatuma
|
|
,@pOsztalycsoportId = @pOsztalycsoportId
|
|
,@pModifierId = @pModifierId
|
|
|
|
END
|
|
GO |