64 lines
2.2 KiB
Transact-SQL
64 lines
2.2 KiB
Transact-SQL
-- Tanulók szakképzéses adatinak frissítése, paraméterektől függően
|
|
-- Szekeres András, Telek Ákos
|
|
-- 2017.05.12.
|
|
|
|
DROP PROCEDURE IF EXISTS dbo.uspUpdateTanulokNKTesSZKTSzakkepzesesAdatok
|
|
GO
|
|
|
|
CREATE PROCEDURE dbo.uspUpdateTanulokNKTesSZKTSzakkepzesesAdatok
|
|
@tanulokIdString varchar(max)
|
|
,@isSzakkepzesesUpdate bit = 1
|
|
,@isNKTSzakkepzesesUpdate bit = 0
|
|
,@SzakiranyNKTTipusId int = NULL
|
|
,@SzakkepesitesNKTTipusId int = NULL
|
|
,@TanulmanyiTeruletNKTTipusId int = NULL
|
|
,@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_TANULO_OSSZES
|
|
SET '
|
|
|
|
IF @isSzakkepzesesUpdate is not null and @isSzakkepzesesUpdate = 1
|
|
BEGIN
|
|
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
|
|
END
|
|
IF @isNKTSzakkepzesesUpdate is not null and @isNKTSzakkepzesesUpdate = 1
|
|
BEGIN
|
|
IF @SzakiranyNKTTipusId is not null BEGIN
|
|
SET @setList = ISNULL(@setList + ', ', '') + N'C_SZAKIRANYNKTTIPUSID = @SzakiranyNKTTipusId'
|
|
END
|
|
IF @SzakkepesitesNKTTipusId is not null BEGIN
|
|
SET @setList = ISNULL(@setList + ', ', '') + N'C_SZAKKEPESITESNKTTIPUSID = @SzakkepesitesNKTTipusId'
|
|
END
|
|
IF @TanulmanyiTeruletNKTTipusId is not null BEGIN
|
|
SET @setList = ISNULL(@setList + ', ', '') + N'C_TANULMANYITERULETNKTTIPUSID = @TanulmanyiTeruletNKTTipusId'
|
|
END
|
|
END
|
|
|
|
SET @sql += @setList + '
|
|
WHERE ID IN ('+ @tanulokIdString +')
|
|
AND TOROLT = ''F''
|
|
'
|
|
|
|
EXEC sp_executesql @sql,
|
|
N'@szakmacsoport int, @agazat int, @szakkepesites int, @reszSzakkepesites int, @SzakiranyNKTTipusId int, @SzakkepesitesNKTTipusId int, @TanulmanyiTeruletNKTTipusId int',
|
|
@szakmacsoport, @agazat, @szakkepesites, @reszSzakkepesites, @SzakiranyNKTTipusId, @SzakkepesitesNKTTipusId, @TanulmanyiTeruletNKTTipusId
|
|
END
|
|
GO
|