Oracle
 sql >> база данни >  >> RDS >> Oracle

как да експортирате изход във формат CSV чрез процедура

Можете да използвате пакета UTL_FILE за запис в плосък файл, този файл ще бъде генериран на сървъра на базата данни.

Предпоставки за използване на UTL_FILE:

а. Създайте обект на директория, сочещ към физическо местоположение в базата данни.b. Уверете се, че потребителят/схемата, която използвате, има достъп за четене/запис до това местоположениеc. Уверете се, че UTL_FILE е инсталиран в базата данни (стартирайте utl_file като SYS) и дайте изпълнение на UTL_FILE на акаунта, който използвате.

Псевдо код за UTL_FILE:

DECLARE
  view_name VARCHAR2 (200);
  v_str     VARCHAR2 (1000);
  v_output  VARCHAR2 (4000);
  CURSOR tbl IS
    SELECT   view_name
    FROM     all_views
    WHERE    owner = Sys_context ('USERENV', 'CURRENT_SCHEMA')
    ORDER BY 1;

l_filehandle utl_file.file_type%TYPE; --Create a Variable with  Filetype record
BEGIN
  l_filehandle := utl_file.fopen(<directory_object>, <filename>, 'W'); --Call to open the file for Write Operation
  OPEN tbl;
  LOOP
    FETCH tbl
    INTO  view_name;

    EXIT
  WHEN tbl%NOTFOUND;
    v_str := 'Select '
    || view_name
    || ',  count (*) from '
    ||view_name;
    EXECUTE IMMEDIATE v_str INTO v_output;
    utl_file.Put_line(l_filehandle,v_output); --Actual Writing of line infile
  END LOOP;
  CLOSE tbl;
  utl_file.Fclose(l_filehandle);
END;

Надявам се това да помогне




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Функция TO_DATE в ORACLE

  2. Изберете в PL-SQL грешки:INTO след избор

  3. Пълна пълна репликация на MySQL база данни? Идеи? Какво правят хората?

  4. Проблем с процедурата за изпълнение в PL/SQL Developer

  5. Обръщане на данни с помощта на две колони