SQL-Skripte in Oracle SQL Plus mit Komma als Dezimaltrennzeichen ausführen

oracle
sql
Tags: #<Tag:0x00007fdff1018168> #<Tag:0x00007fdff1020778>
#1

Mit einem deutschsprachigen Oracle SQL Developer habe ich mir SQL-Skripte erstellt.

Diese wollte ich auf einem anderen Computer mithilfe von Oracle SQL Plus wieder importieren:

@"C:\Ablage\MyOracleScript.sql"

(Über die @-Syntax wird ein Skript ausgeführt).

Leider habe ich dabei immer wieder Fehlermeldungen der Form:

ORA-01722: invalid number

Grund war wohl, dass beim Export Fließkommazahlen als String mit Komma als Trennzeichen exportiert wurden (beispielsweise 9,5).

Nachdem ich diesen Tipp befolgt habe, und nachfolgenden SQL-Befehl ausgeführt habe, konnte ich mein Skript fehlerfrei ausführen.

alter SESSION set NLS_NUMERIC_CHARACTERS = ',.';

Quelle

#2

Es kann auch hilfreich sein den automatischen Commit zu aktivieren:

SET AUTOCOMMIT ON;

zu setzen, speziell bei großen SQL-Skripten.

Auch wenn es dazu gegenteilige Meinungen gibt: