-- 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. DROP PROCEDURE IF EXISTS dbo.sp_UpdateOsztalyTanuloiSzakkepzesesAdatok GO CREATE PROCEDURE dbo.sp_UpdateOsztalyTanuloiSzakkepzesesAdatok @osztalyId int ,@szakmacsoport int = NULL ,@agazat int = NULL ,@szakkepesites int = NULL ,@reszSzakkepesites int = NULL AS BEGIN SET NOCOUNT ON; 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 GO