DECLARE @ID_ETL_INSTANCIA INT
DECLARE @ID_ETL_INSTANCIA_ACAO INT
DECLARE @DESCRICAO_INSTANCIA VARCHAR(100) = 'DEFAULT INSTÂNCIA LOADER'
DECLARE @DESCRICAO_INSTANCIA_ACAO VARCHAR(100) = 'DEFAULT INSTÂNCIA AÇÃO LOADER'

IF EXISTS(SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'LJ_ETL_INSTANCIA') AND type in (N'U'))
BEGIN

	SELECT @ID_ETL_INSTANCIA = ID_ETL_INSTANCIA FROM LJ_ETL_INSTANCIA WHERE DESCRICAO = @DESCRICAO_INSTANCIA
	IF (@ID_ETL_INSTANCIA IS NULL)
		SELECT @ID_ETL_INSTANCIA = ISNULL(MAX(ID_ETL_INSTANCIA) + 1, 1) FROM LJ_ETL_INSTANCIA 	

	INSERT INTO LJ_ETL_INSTANCIA
		SELECT		@ID_ETL_INSTANCIA AS ID_ETL_INSTANCIA
					, @DESCRICAO_INSTANCIA AS DESCRICAO
					, 10 AS FATOR_PROCESSADOR
					, 0 AS PERIODO_ARQUIVO
			WHERE	NOT EXISTS (SELECT * FROM LJ_ETL_INSTANCIA WHERE ID_ETL_INSTANCIA = @ID_ETL_INSTANCIA)

END

IF EXISTS(SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'LJ_ETL_INSTANCIA_ACAO') AND type in (N'U'))
BEGIN

	SELECT @ID_ETL_INSTANCIA_ACAO = ID_ETL_INSTANCIA_ACAO FROM LJ_ETL_INSTANCIA_ACAO WHERE DESCRICAO = @DESCRICAO_INSTANCIA_ACAO
	IF (@ID_ETL_INSTANCIA_ACAO IS NULL)
		SELECT @ID_ETL_INSTANCIA_ACAO = ISNULL(MAX(ID_ETL_INSTANCIA_ACAO) + 1, 1) FROM LJ_ETL_INSTANCIA_ACAO 	

	INSERT INTO LJ_ETL_INSTANCIA_ACAO
		SELECT		@ID_ETL_INSTANCIA_ACAO AS ID_ETL_INSTANCIA_ACAO
					, @ID_ETL_INSTANCIA AS ID_ETL_INSTANCIA
					, @DESCRICAO_INSTANCIA_ACAO AS DESCRICAO
					, 100 AS QTDE_REGISTRO
					, 1000 AS QTDE_REPETICAO
			WHERE	NOT EXISTS (SELECT * FROM LJ_ETL_INSTANCIA_ACAO WHERE ID_ETL_INSTANCIA_ACAO = @ID_ETL_INSTANCIA_ACAO)

END

IF EXISTS(SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'LJ_ETL_INSTANCIA_ACAO_TIPO') AND type in (N'U'))
BEGIN

	INSERT INTO LJ_ETL_INSTANCIA_ACAO_TIPO
		SELECT      @ID_ETL_INSTANCIA_ACAO AS ID_ETL_INSTANCIA_ACAO_TIPO
					, ID_ETL_TIPO
			FROM	LJ_LX_ETL_TIPO
			WHERE	LJ_LX_ETL_TIPO.ORIGEM IN (3) 
					AND ID_ETL_TIPO NOT IN (0, 999)
					AND NOT EXISTS (SELECT		* 
										FROM	LJ_ETL_INSTANCIA_ACAO_TIPO
										WHERE	ID_ETL_INSTANCIA_ACAO = @ID_ETL_INSTANCIA_ACAO 
												AND ID_ETL_TIPO = LJ_LX_ETL_TIPO.ID_ETL_TIPO)
END
GO
