Files
doczyai-pipelines/snowflake/scripts/training_interface/R__003_LOAD_ATTEMPTS_SP.sql
T

54 lines
1.8 KiB
PL/PgSQL
Raw Normal View History

2024-02-27 15:43:28 -06:00
CREATE OR REPLACE PROCEDURE STG.LOAD_ATTEMPT_LOGS(file_name VARCHAR)
2024-02-27 14:29:22 -06:00
RETURNS STRING
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
2024-02-27 15:37:59 -06:00
DECLARE
prcedure_name varchar;
2024-02-27 14:29:22 -06:00
BEGIN
2024-02-27 15:37:59 -06:00
procedure_name := 'LOAD_ATTEMPT_LOGS';
call stg.log_audit(procedure_name, 'Section 1', 99, 'START');
2024-02-27 14:29:22 -06:00
-- Create or replace stage with dynamic file name
EXECUTE IMMEDIATE 'CREATE OR REPLACE STAGE STG.ATTEMPT_LOGS_STAGE
STORAGE_INTEGRATION = dev_bucket_integration
URL = ''s3://doczy-dev-infra-raw-data-ingestion/training_interface/' || :file_name || '''
FILE_FORMAT = (FORMAT_NAME = ''STG.CSV_HEADER'');';
2024-02-27 15:37:59 -06:00
call stg.log_audit(procedure_name, 'Section 1', 99, 'END');
call stg.log_audit(procedure_name, 'Section 2', 99, 'START');
2024-02-27 14:29:22 -06:00
-- Copy command to load data
COPY INTO STG.TRAINING_ATTEMPT_LOGS FROM
(
SELECT
NULLIF(TRIM($1), '') AS FIELD_NAME,
NULLIF(TRIM($2), '') AS CONTRACTS_TESTED,
NULLIF(TRIM($3), '') AS USERNAME,
NULLIF(TRIM($4), '') AS DATE_TIME,
NULLIF(TRIM($5), '') AS ACCURACY,
NULLIF(TRIM($6), '') AS ATTEMPT_NUM,
CURRENT_TIMESTAMP(2) AS LOAD_DT
FROM @STG.ATTEMPT_LOGS_STAGE
)
FILE_FORMAT = (FORMAT_NAME = 'STG.CSV_HEADER')
ON_ERROR = CONTINUE;
2024-02-27 15:37:59 -06:00
call stg.log_audit(procedure_name, 'Section 2', 99, 'END');
call stg.log_audit(procedure_name, 'Section 3', 99, 'START');
2024-02-27 14:29:22 -06:00
INSERT INTO DOCZY_DEV.STG.DIM_AUDIT (AUDIT_SID, TABLE_NAME, SOURCE_FILE_NAME, LOAD_DATE, SOURCE_COUNT)
SELECT STG.AUDIT_SID.NEXTVAL, 'STG.TRAINING_ATTEMPT_LOGS',*
FROM
(SELECT DISTINCT METADATA$FILENAME, CURRENT_TIMESTAMP(), max(METADATA$FILE_ROW_NUMBER) from @DOCZY_DEV.STG.TRAINING_RESULTS_STAGE group by 1,2);
2024-02-27 15:37:59 -06:00
call stg.log_audit(procedure_name, 'Section 3', 99, 'END');
2024-02-27 14:29:22 -06:00
RETURN 'Setup, Load, and Audit Complete';
END;
2024-02-27 15:37:59 -06:00
$$;