-- Schema: dbo -- Stored Procedure: HexToRGB 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