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
|
2024-02-27 15:52:01 -06:00
|
|
|
procedure_name varchar;
|
2024-02-27 14:29:22 -06:00
|
|
|
BEGIN
|
|
|
|
|
|
2024-02-27 15:37:59 -06:00
|
|
|
procedure_name := 'LOAD_ATTEMPT_LOGS';
|
|
|
|
|
|
2024-02-27 15:52:01 -06:00
|
|
|
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
|
|
|
|
2024-02-27 15:52:01 -06:00
|
|
|
call stg.log_audit(:procedure_name, 'Section 1', 99, 'END');
|
2024-02-27 15:37:59 -06:00
|
|
|
|
2024-02-27 15:52:01 -06:00
|
|
|
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')
|
2024-02-27 16:05:51 -06:00
|
|
|
ON_ERROR = ABORT_STATEMENT;
|
2024-02-27 14:29:22 -06:00
|
|
|
|
2024-02-27 15:52:01 -06:00
|
|
|
call stg.log_audit(:procedure_name, 'Section 2', 99, 'END');
|
2024-02-27 15:37:59 -06:00
|
|
|
|
2024-02-27 15:52:01 -06:00
|
|
|
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
|
2024-02-27 15:59:34 -06:00
|
|
|
(SELECT DISTINCT METADATA$FILENAME, CURRENT_TIMESTAMP(), max(METADATA$FILE_ROW_NUMBER) from @DOCZY_DEV.STG.ATTEMPT_LOGS_STAGE group by 1,2);
|
2024-02-27 14:29:22 -06:00
|
|
|
|
2024-02-27 15:52:01 -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
|
|
|
$$;
|
|
|
|
|
|