大神们帮我看看这个代码什么意思是抓取文件还是修改文件
SET SERVEROUTPUT ON SIZE UNL;
DECLARE
CURSOR C_NAME_LIST IS
SELECT NAME_ID, UDFN21
FROM NAME_VIEW
WHERE NVL(UDFN21, 0) >= 18;
V_TEMP_CT NUMBER := 0;
V_RECORD_CT NUMBER := 0;
V_FILE_CONTEN CLOB := '';
V_TEMP_LOG CLOB := '';
V_PATH VARCHAR2(1000) := '&1';
V_RESORT_NAME VARCHAR2(30) := '&2';
V_COMMIT_CT NUMBER := 100;
V_LOG_TIME_FORMAT VARCHAR2(30) := 'dd-Mon-yyyy hh24:mi:ss';
V_START_TIME VARCHAR2(30);
BEGIN
V_START_TIME := TO_CHAR(SYSDATE, V_LOG_TIME_FORMAT);
DBMS_OUTPUT.PUT_LINE(V_START_TIME || ' - Start patch');
BEGIN
SELECT RESORT INTO V_RESORT_NAME from DATABASE_RESORTS WHERE DATABASE_ID = 'ORS';
EXCEPTION WHEN NO_DATA_FOUND THEN
NULL;
END;
V_FILE_CONTEN := 'Resort Name: ' || V_RESORT_NAME || CHR(13) || CHR(10) || 'NAME_ID,UDFN21' || CHR(13) || CHR(10);
BEGIN
FOR REC IN C_NAME_LIST LOOP
UPDATE NAME_VIEW SET UDFN21 = 0 WHERE NAME_ID = REC.NAME_ID;
V_TEMP_LOG := V_TEMP_LOG || '[' || REC.NAME_ID || ',' || REC.UDFN21 || ']' || CHR(13) || CHR(10);
V_TEMP_CT := V_TEMP_CT + 1;
V_RECORD_CT := V_RECORD_CT + 1;
IF V_TEMP_CT >= V_COMMIT_CT THEN
V_TEMP_CT := 0;
V_FILE_CONTEN := V_FILE_CONTEN || V_TEMP_LOG;
V_TEMP_LOG := '';
COMMIT;
END IF;
END LOOP;
V_FILE_CONTEN := V_FILE_CONTEN || V_TEMP_LOG;
COMMIT;
V_FILE_CONTEN := V_FILE_CONTEN || ' ************** ' || V_RECORD_CT || ' records has been changed.' || ' ************** ' || CHR(13) || CHR(10);
V_FILE_CONTEN := V_FILE_CONTEN || 'End Of File';
DBMS_OUTPUT.PUT_LINE(TO_CHAR(SYSDATE, V_LOG_TIME_FORMAT) || ' - End patch');
EXCEPTION WHEN OTHERS THEN
V_FILE_CONTEN := V_FILE_CONTEN || DBMS_UTILITY.FORMAT_ERROR_BACKTRACE || CHR(13) || CHR(10);
V_FILE_CONTEN := V_FILE_CONTEN || DBMS_UTILITY.FORMAT_ERROR_STACK || CHR(13) || CHR(10);
V_FILE_CONTEN := V_FILE_CONTEN || '/***************************/' || CHR(13) || CHR(10) || '/* Completed with error. */' || CHR(13) || CHR(10) || '/***************************/';
END;
V_FILE_CONTEN := 'Start time: ' || V_START_TIME || ' End Time: ' || TO_CHAR(SYSDATE, V_LOG_TIME_FORMAT) || CHR(13) || CHR(10) || V_FILE_CONTEN;
DBMS_OUTPUT.PUT_LINE(TO_CHAR(SYSDATE, V_LOG_TIME_FORMAT) || ' - Start export file');
DBMS_XSLPROCESSOR.CLOB2FILE(V_FILE_CONTEN, V_PATH, 'UPD_UDFN21_RESULT_' || V_RESORT_NAME || '.txt', 0);
DBMS_OUTPUT.PUT_LINE(TO_CHAR(SYSDATE, V_LOG_TIME_FORMAT) || ' - End of export file');
END;
/
EXIT;