﻿-- Tanulók szakképzéses adatinak frissítése, paraméterektől függően
-- Szekeres András, Telek Ákos
-- 2017.05.12.

IF OBJECT_ID('dbo.sp_UpdateTanulokSzakkepzesesAdatok') IS NOT NULL BEGIN
  DROP PROCEDURE dbo.sp_UpdateTanulokSzakkepzesesAdatok
END
GO

CREATE PROCEDURE dbo.sp_UpdateTanulokSzakkepzesesAdatok 
	@tanulokIdString varchar(max)
	,@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_TANULO_OSSZES
		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 + '
	WHERE ID IN ('+ @tanulokIdString +')
		AND TOROLT = ''F''
	'

	EXEC sp_executesql @sql, N'@szakmacsoport int, @agazat int, @szakkepesites int, @reszSzakkepesites int', @szakmacsoport, @agazat, @szakkepesites, @reszSzakkepesites
END