Экспортировать переменную PLSQL в файл CSV - PullRequest
0 голосов
/ 30 мая 2018

У меня есть блок 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?

1 Ответ

0 голосов
/ 01 июня 2018

Вот минимальный пример использования 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;

Как упомянул Уильям: это создаст файл на вашем сервере базы данных.

Если вы хотите создать его наклиент, нам нужно больше detials, как ваш клиент обращается к БД.

...