CREATE procedure [C6MartPeriodico].[SRV_TABELLE_IN_MART_pre_selective]
AS
BEGIN
	DECLARE @tabella AS VARCHAR(50) 
	SET @tabella = NULL
	SELECT TOP 1 @tabella = A.tabella
	FROM(
		SELECT tables.name tabella
		FROM sys.tables tables
		INNER JOIN sys.schemas schemas
			ON tables.schema_id = schemas.schema_id
		WHERE schemas.name = 'C6MartPeriodico'
			AND tables.name NOT IN ('TabelleStoricizzate','VerificheCampione','GLOBAL_ERROR')
	) A
	WHERE A.tabella NOT IN (
		SELECT Nome 
		FROM C6MartPeriodico.TabelleStoricizzate
	)
	ORDER BY A.tabella
	-- vedi stessa sp di Staging
	/*INSERT INTO [C6MartPeriodico].[TabelleStoricizzate]
           ([Nome])
	VALUES
           (@tabella)*/
	DECLARE @tabellaMartDaStoricizzare AS SMALLINT
	IF @tabella IS NOT NULL
		BEGIN
			INSERT INTO [C6MartPeriodico].[TabelleStoricizzate]
				   ([Nome])
			VALUES
				   (@tabella)
			EXEC [C6MartPeriodico].[SRV_STORICIZZAZIONE] @tabella
			SET @tabellaMartDaStoricizzare = 1
		END
	ELSE
		SET @tabellaMartDaStoricizzare = 0
	SELECT @tabellaMartDaStoricizzare tabella, @tabella nome
--	DECLARE @tabella AS VARCHAR(50) 
--	SET @tabella = NULL
--
--	-- AGGIORNAMENTO TABELLA C6MartPeriodico.TabelleStoricizzate:
--	--> CANCELLO LE VECCHIE
--	DELETE C6MartPeriodico.TabelleStoricizzate 
--	FROM sys.tables tables
--	INNER JOIN sys.schemas schemas
--		ON tables.schema_id = schemas.schema_id
--	RIGHT JOIN C6MartPeriodico.TabelleStoricizzate 
--		ON tables.name = TabelleStoricizzate.NOME
--	WHERE schemas.name = 'C6MartPeriodico'
--		AND tables.name IS NULL
--		AND tables.name <> 'CONTRATTOSEI'
--	
--	--> INSERISCO LE NUOVE TABELLE
--	INSERT INTO C6MartPeriodico.TabelleStoricizzate (NOME, STORICIZZATA)
--	SELECT A.NOME, A.STORICIZZATA
--	FROM (
--		SELECT tables.name AS NOME, 0 AS STORICIZZATA
--		FROM sys.tables tables
--		INNER JOIN sys.schemas schemas
--			ON tables.schema_id = schemas.schema_id
--		WHERE schemas.name = 'C6MartPeriodico'
--		UNION
--		SELECT 'CONTRATTOSEI', 0
--	) A
--	LEFT JOIN C6MartPeriodico.TabelleStoricizzate 
--		ON TabelleStoricizzate.NOME = A.NOME
--	WHERE TabelleStoricizzate.NOME IS NULL
--	-- FINE AGGIORNAMENTO TABELLA
--
--	BEGIN TRANSACTION
--
--	-- SELEZIONE TABELLA
--	SELECT TOP 1 @tabella = NOME
--	FROM C6MartPeriodico.TabelleStoricizzate
--	WHERE STORICIZZATA = 0
--	ORDER BY DURATA DESC
--
--	-- MARCATURA TABELLA SELEZIONATA
--	UPDATE C6MartPeriodico.TabelleStoricizzate
--	SET 
--		STORICIZZATA = 1,
--		VECCHIA_DURATA = DURATA,
--		INIZIO = GETDATE()
--	WHERE NOME = @tabella
--
--	COMMIT TRANSACTION 
--
--	DECLARE @tabellaMartDaStoricizzare AS SMALLINT
--	IF @tabella IS NOT NULL
--	BEGIN
--		EXEC C6MartPeriodico.SRV_STORICIZZAZIONE @tabella
--		SET @tabellaMartDaStoricizzare = 1
--	END
--	ELSE
--		SET @tabellaMartDaStoricizzare = 0
--
--	SELECT @tabellaMartDaStoricizzare tabella, @tabella nome
END