我有一个PL / SQL块,我在其中声明并填充一些变量。
我只是使用例如检查值DBMS_OUTPUT.PUT_LINE('My Name= ' || V_NAME);
我有42个这样的变量,我需要将每个变量导出到CSV文件中。
SET SERVEROUTPUT ON;
DECLARE
RECORD_NUM VARCHAR2 (10) := 'ITEM0001';
USER_ID NUMBER (11);
FIRST_NAME VARCHAR2 (25);
LAST_NAME VARCHAR2 (25);
BEGIN
SELECT ID, FIRSTNAME, LASTNAME
INTO USER_ID, FIRST_NAME, LAST_NAME
FROM MYSCHEM.EMPLOYEES
WHERE HIRE_DATE > SYSDATE;
DBMS_OUTPUT.PUT_LINE ('FIRSTNAME= ' || FIRSTNAME);
DBMS_OUTPUT.PUT_LINE ('LASTNAME = ' || LAST_NAME);
DBMS_OUTPUT.PUT_LINE ('USER_ID = ' || USER_ID);
END;
/
如何将这些变量导出到CSV文件?
答案 0 :(得分:0)
这是一个如何使用utl_file的最小例子:
DECLARE
outputfile UTL_FILE.file_type;
BEGIN
outputfile := UTL_FILE.FOPEN ('DIRECTORY', 'filename.csv', 'w');
UTL_FILE.PUT_LINE (outputfile, 'One,Two,Three');
UTL_FILE.PUT_LINE (outputfile, '1,2,3');
UTL_FILE.PUT_LINE (outputfile, '1,2,3');
UTL_FILE.FCLOSE (outputfile);
END;
像William提到的:这将在您的数据库服务器上创建一个文件。
如果你想在客户端上创建它,我们需要更多的detials,你的客户端如何访问db。