﻿-- A cél adatbázison kell futtatni. 
-- Üres DB-be másolásnál a @pChangeInTargetDB-nek 1-nek kell lenni, egyébként meg 0-nak

DROP PROCEDURE IF EXISTS dev.uspIntezmenyClone
GO

CREATE PROCEDURE dev.uspIntezmenyClone
   @pSourceIntezmenyIds nvarchar(1000) -- másolandó intézmények id-ja vesszővel elválasztva. NULL esetén összes intézmény másolása
  ,@pSourceDatabase nvarchar(60)  -- a forrás adatbázis neve
  ,@pArchivalandoRelativTanevSorszam int = NULL  -- az aktív tanévhez képest hány tanével régebbi legyen az első másolandó tanév.
      -- 1, akkor az aktív tanév előtti tanév és mminden régebbi másolásra kerül,
      -- 2 esetén aktív előtt kettővel és régebbi tanévek
      -- NULL esetén teljes suli másolás van.
  ,@pEntityHistoryMigration int  /* 0 - Nem kell, 1 - csak migráció, 2 - átID-zás is */   
  ,@pDebugMode bit = 0 -- Ha 1, akkor kiírja a futtatott scriptet is
AS
BEGIN
  SET NOCOUNT ON;

  -- ============================================================== --
  -- INDEX, CONSTRAINT, TRIGGER   kikapcsolás                       --
  -- ============================================================== --   
  EXEC dev.uspIntezmenyDisableObjects 1, 1, 1

  -- ============================================================== --
  -- INTÉZMÉNY MÁSOLÁSA                                             --
  -- ============================================================== --   
  EXEC dev.uspIntezmenyCloneMigration
     @pSourceIntezmenyIds = @pSourceIntezmenyIds
    ,@pSourceDatabase = @pSourceDatabase
    ,@pArchivalandoRelativTanevSorszam = @pArchivalandoRelativTanevSorszam
    ,@pEntityHistoryMigration = @pEntityHistoryMigration 
    ,@pDebugMode = @pDebugMode

  -- ============================================================== --
  -- INDEX, CONSTRAINT, TRIGGER   visszakapcsolás                   --
  -- ============================================================== --   
 EXEC dev.uspIntezmenyEnableObjects 1, 1, 1

END
GO

