sql >> Databáze >  >> RDS >> Oracle

jak exportovat výstup ve formátu CSV pomocí procedury

Pro zápis do plochého souboru můžete použít UTL_FILE Package, tento soubor bude vygenerován na databázovém serveru.

Předpoklady pro použití UTL_FILE:

A. Vytvořte adresářový objekt ukazující na fyzické umístění v databázi.b. Ujistěte se, že uživatel/schéma, které používáte, má k tomuto umístění přístup pro čtení/zápisc. Ujistěte se, že je v databázi nainstalován soubor UTL_FILE (spusťte soubor utl_file jako SYS) a udělte spuštění v souboru UTL_FILE účtu, který používáte.

Pseudokód pro 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;

Doufám, že to pomůže




  1. Oracle SQL:Vraťte první řádek řetězce pomocí regexp_substr

  2. Jak mohu importovat data z ASCII (ISO/IEC 8859-1) do své databáze Rails/PGSQL?

  3. Import souboru JSON do Postgresql 11 ve Windows 10

  4. Jak vygenerovat GUID v Oracle?