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

Jak správně Exportovat výsledky příkazu select do souboru Csv pomocí spool ve vývojáři Oracle sql

Váš výběr je neúplný, protože nemáte from klauzuli, ale nejsem si jistý, zda jste ji neztratili při kopírování a vkládání. Jak to tak je, není co spustit, protože částečný příkaz není nikdy proveden (žádné ukončení ; nebo / na dalším řádku). Pokud jste měli from farmers; klauzule, pak by pravděpodobně zobrazil příkaz plus chybu ORA-00923.

Mezi pole nemůžete vložit čárku v uvozovkách, musíte pole s tímto znakem zřetězit pomocí || symbol zřetězení:

spool 'c:\farmerList.csv'

select FIRSTNAME
    ||','|| LASTNAME
    ||','|| TRN
    ||','|| CELL
    ||','|| PARISH
from farmers;

poskytuje soubor obsahující

Joe,Grundy,X,Y,Ambridge

Pole nemusí být na samostatných řádcích, jen mi to přijde snazší číst a sledovat čárky.

Nepotřebujete / za příkazem spool - tím se znovu provede poslední příkaz před spool , pokud existuje - a nepotřebujete uvozovky kolem názvu spoolového souboru, pokud neobsahuje mezery, ale neublíží.

K dispozici je také set colsep příkaz, který můžete použít k vytvoření oddělovače sloupců na čárku, ale musíte se starat o vyplnění, takže je pro mě jednodušší zřetězit sloupce dohromady, jak to (téměř) děláte vy.

Až na to, že je to pro SQL*Plus, protože jsem si nevšiml odkazu na vývojáře SQL v názvu. Spool je ve Vývojáři trochu zvláštní, protože se zdá, že zachycuje a opakuje věci, které pravděpodobně nechcete, a ne všechny z set příkazy fungují (které závisí na verzi).

Myslím, že bezpečnější a preferovaný způsob je spustit normální dotaz bez zřetězených čárek:

select FIRSTNAME, LASTNAME, TRN, CELL, PARISH
from farmers;

a s 'spustit' spíše než 'spustit skript', takže výsledky se zobrazí v zobrazení mřížky v okně výsledků dotazu. Klikněte pravým tlačítkem myši na mřížku a zvolte 'export'. Poté můžete uložit jako CSV nebo dokonce jako XLS a můžete se rozhodnout, že nechcete mít řádek záhlaví, pokud chcete.



  1. mysql vyberte počet řádků mezi časovým rozpětím

  2. Oprava chyby „ORA-01789:blok dotazu má nesprávný počet sloupců výsledků“

  3. Je možné uložit soubory MySQL Workbench jako prosté XML?

  4. Mám použít typ pole blob MySQL?