2025-06-10 15:29:00 +02:00

40 lines
1.3 KiB
Transact-SQL

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