kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20180912133333_OM_1295/sp_UpdateOsztalyTanuloiSzakkepzesesAdatok.sql
2024-03-13 00:33:46 +01:00

47 lines
No EOL
1.5 KiB
Transact-SQL

-- Osztály tanulóinak szakképzéses adatinak frissítése, paraméterektől függően
-- Szekeres András, Telek Ákos
-- 2017.05.11.
IF OBJECT_ID('dbo.sp_UpdateOsztalyTanuloiSzakkepzesesAdatok') IS NOT NULL BEGIN
DROP PROCEDURE dbo.sp_UpdateOsztalyTanuloiSzakkepzesesAdatok
END
GO
CREATE PROCEDURE dbo.sp_UpdateOsztalyTanuloiSzakkepzesesAdatok
@osztalyId int
,@szakmacsoport int = NULL
,@agazat int = NULL
,@szakkepesites int = NULL
,@reszSzakkepesites int = NULL
AS
BEGIN
DECLARE @sql NVARCHAR(MAX), @setList NVARCHAR(MAX)
SET @sql = N'UPDATE T
SET '
IF @szakmacsoport is not null BEGIN
SET @setList = ISNULL(@setList + ', ', '') + N'C_SZAKMACSOPORT = @szakmacsoport'
END
IF @agazat is not null BEGIN
SET @setList = ISNULL(@setList + ', ', '') + N'C_AGAZAT = @agazat'
END
IF @szakkepesites is not null BEGIN
SET @setList = ISNULL(@setList + ', ', '') + N'C_SZAKKEPESITES = @szakkepesites'
END
IF @reszSzakkepesites is not null BEGIN
SET @setList = ISNULL(@setList + ', ', '') + N'C_RESZSZAKKEPESITES = @reszSzakkepesites'
END
SET @sql += @setList + '
FROM T_TANULOCSOPORT_OSSZES tcs
INNER JOIN T_TANULO_OSSZES t on tcs.C_TANULOID = t.id
WHERE tcs.C_OSZTALYCSOPORTID = @osztalyId
AND tcs.TOROLT = ''F''
AND t.TOROLT = ''F''
AND tcs.C_BELEPESDATUM < GETDATE()
AND tcs.C_KILEPESDATUM IS NULL
'
EXEC sp_executesql @sql, N'@osztalyId int, @szakmacsoport int, @agazat int, @szakkepesites int, @reszSzakkepesites int', @osztalyId, @szakmacsoport, @agazat, @szakkepesites, @reszSzakkepesites
END