47 lines
No EOL
1.5 KiB
Transact-SQL
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.
|
|
|
|
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 |