64 lines
1.6 KiB
Transact-SQL
64 lines
1.6 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS dev.[uspCreateSchemaAndOthers]
|
|
GO
|
|
|
|
CREATE PROCEDURE dev.[uspCreateSchemaAndOthers]
|
|
@pDbJelszo nvarchar(50)
|
|
,@pIntezmenyIds nvarchar(500) = NULL
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
DECLARE @intCursor CURSOR
|
|
|
|
DECLARE
|
|
@intezmenyId int
|
|
,@tanevId int
|
|
,@intezmenyAzonosito nvarchar(80)
|
|
,@schemaName nvarchar(80)
|
|
|
|
IF @pIntezmenyIds IS NULL BEGIN
|
|
SET @intCursor = CURSOR FOR
|
|
SELECT i.ID, tv.ID, i.C_AZONOSITO
|
|
FROM T_INTEZMENY i
|
|
INNER JOIN T_TANEV tv ON tv.C_INTEZMENYID = i.ID AND tv.TOROLT = 'F' AND tv.C_AKTIV = 'T'
|
|
WHERE i.TOROLT = 'F'
|
|
END
|
|
ELSE BEGIN
|
|
SET @intCursor = CURSOR FOR
|
|
SELECT i.ID, tv.ID, i.C_AZONOSITO
|
|
FROM T_INTEZMENY i
|
|
INNER JOIN STRING_SPLIT(@pIntezmenyIds, ',') ss ON LTRIM(RTRIM(ss.value)) = i.ID
|
|
INNER JOIN T_TANEV tv ON tv.C_INTEZMENYID = i.ID AND tv.TOROLT = 'F' AND tv.C_AKTIV = 'T'
|
|
WHERE i.TOROLT = 'F'
|
|
END
|
|
|
|
OPEN @intCursor
|
|
FETCH NEXT FROM @intCursor INTO @intezmenyId, @tanevId, @intezmenyAzonosito
|
|
|
|
WHILE @@FETCH_STATUS = 0 BEGIN
|
|
|
|
|
|
SET @schemaName = 'KR_' + @intezmenyAzonosito + '_Schema'
|
|
|
|
EXEC dev.uspCreateSchema
|
|
@pIntezmenyAzonosito = @intezmenyAzonosito
|
|
,@pSchemaUserPassword = @pDbJelszo;
|
|
|
|
EXEC dev.uspCreateSchemaViews
|
|
@pTables = NULL
|
|
,@pSchemas = @schemaName
|
|
,@pDebugMode = 0
|
|
|
|
EXEC dev.uspCreateSchemaSPFN
|
|
@pRoutinList = NULL
|
|
,@pSchemaName = @schemaName
|
|
|
|
FETCH NEXT FROM @intCursor INTO @intezmenyId, @tanevId, @intezmenyAzonosito
|
|
|
|
END
|
|
|
|
CLOSE @intCursor
|
|
DEALLOCATE @intCursor
|
|
|
|
END
|
|
GO
|