﻿CREATE procedure [dbo].[HexToRGB]  
 -- Add the parameters for the stored procedure here  
-- @Rete char(1),   
-- @CodiceFiscale varchar(16)  
AS  
BEGIN   
CREATE TABLE #TempTable(Asset varchar(10), Descrizione varchar(200),CodiceEsa varchar(15),R int,G int,B int)
--DICHIARO CURSORE
DECLARE curAssetColor CURSOR FOR 
select Asset,Descrizione,right(codicergb,6) as HEX FROM [C6StampeCentralizzate].[C6StagingPeriodico].[RP_AssetClass] where livello = 2 
declare @Asset [varchar](10)
declare @Descrizione [varchar](200)
declare @codiceHex [varchar](15) 
--ATTIVO IL CURSORE
OPEN curAssetColor
--PRELEVO la prossima riga 
FETCH NEXT FROM curAssetColor into @Asset,@Descrizione,@codiceHex
--Finchè trovo nuove righe...
WHILE @@FETCH_STATUS = 0
begin
	DECLARE @temp AS TABLE (hex char(6)) 
	INSERT  INTO @temp 
	VALUES  (@codiceHex) -- Should convert to Red:  Green:  Blue:  
	insert into #TempTable
	SELECT  @Asset,@Descrizione,'#' + @codiceHex
       ,R 
       ,G 
       ,B 
		FROM    @temp
		OUTER APPLY dbo.udf_HexToRGB(@codiceHex)
	--Continuo con le operazioni
	FETCH NEXT FROM curAssetColor into @Asset,@Descrizione,@codiceHex
	delete from @temp
end
--CHIUDO il CURSORE
CLOSE curAssetColor
--RIMUOVO il CURSORE dalla memoria
DEALLOCATE curAssetColor
select * from #TempTable
end