PDC_REPORT_CreazioneDB/sql/Collaudo/procedure/C6Mart_DM_CODIFICA_RISCHIO.sql
2025-06-10 15:29:00 +02:00

56 lines
1.3 KiB
Transact-SQL

-- =============================================
-- Author: Paolo Giovanetti
-- Create date: 24/11/2008
-- Description: NOTA BENE: I JOIN NON DOVREBBERO MAI ESSERE FATTI COME SOTTO, TRATTASI DI WORK AROUND
-- =============================================
CREATE procedure [C6Mart].[DM_CODIFICA_RISCHIO]
AS
BEGIN
SET NOCOUNT ON;
DECLARE @ID_ELAB INT
SET @ID_ELAB = C6MART.GETIDELAB()
-- Log esecuzione
INSERT INTO LOG_ESECUZIONE
(Nome, Inizio, Nota)
VALUES (
'DM_CODIFICA_RISCHIO',
GETDATE(),
'Elaborazione giornaliera'
)
TRUNCATE TABLE C6MART.CODIFICA_RISCHIO
INSERT INTO [C6Mart].[CODIFICA_RISCHIO]
([PROFILO]
,[DESCRIZIONE]
,[MIN_VAR]
,[MAX_VAR]
,[ID_ELAB])
SELECT
SPB_PROF_RISCHIO.CODICEPROFILO AS PROFILO,
SPB_PROF_RISCHIO.DESCRIZIONEPROFILO AS DESCRIZIONE,
ISNULL(SPB_MIN.VARTRIMESTRALE,-0.01) + 0.01 AS MIN_VAR,
SPB_PROF_RISCHIO.VARTRIMESTRALE AS MAX_VAR,
@ID_ELAB AS ID_ELAB
FROM
C6STAGING.SPB_PROF_RISCHIO
LEFT JOIN
C6STAGING.SPB_PROF_RISCHIO SPB_MIN
ON
SPB_MIN.CODICEPROFILO + 1 = SPB_PROF_RISCHIO.CODICEPROFILO
-- Log esecuzione
UPDATE
LOG_ESECUZIONE
SET
Fine = GETDATE(),
Tipo = 'INSERT',
Righe = @@ROWCOUNT
WHERE
Nome = 'DM_CODIFICA_RISCHIO' AND
Inizio = (
SELECT
MAX(Inizio)
FROM
LOG_ESECUZIONE
WHERE
Nome = 'DM_CODIFICA_RISCHIO'
)
END