DBMS_CLOUD - Unterstützung für Avro, ORC und Parquet

In diesem Abschnitt wird die Unterstützung von DBMS_CLOUD Avro, ORC und Parquet beschrieben, die mit Autonomous AI Database bereitgestellt wird.

DBMS_CLOUD-Package - Formatoptionen für Avro, ORC oder Parquet

Das Formatargument in DBMS_CLOUD gibt das Format der Quelldateien an.

Es gibt zwei Möglichkeiten, das Formatargument anzugeben:

format => '{"format_option" : "format_value" }'

und

format => json_object('format_option' value 'format_value')

Beispiele:

format => json_object('type' VALUE 'CSV')

Um mehrere Formatoptionen anzugeben, Trennen Sie die Werte durch ",".

Beispiel:

format => json_object('ignoremissingcolumns' value 'true', 'removequotes' value 'true', 'dateformat' value 'YYYY-MM-DD-HH24-MI-SS', 'blankasnull' value 'true')
Formatoption Beschreibung Syntax
regexuri

Wenn der Wert von regexuri auf TRUE gesetzt ist, können Sie Platzhalter sowie reguläre Ausdrücke in den Dateinamen in Cloud-Quelldatei-URIs verwenden.

Die Zeichen "*" und "?" gelten als Platzhalterzeichen, wenn der Parameter regexuri auf FALSE gesetzt ist. Wenn der Parameter regexuri auf TRUE gesetzt ist, sind die Zeichen "*" und "?" Teil des angegebenen regulären Ausdrucksmusters.

Muster regulärer Ausdrücke werden nur für den Dateinamen oder Unterordnerpfad in Ihren URIs unterstützt, und der Musterabgleich ist mit dem Musterabgleich identisch, der von der Funktion REGEXP_LIKE ausgeführt wird. Reguläre Ausdrucksmuster werden für Verzeichnisnamen nicht unterstützt.

Bei externen Tabellen wird diese Option nur bei Tabellen unterstützt, die in einer Datei im Object Storage erstellt werden.

Beispiel:

format => JSON_OBJECT('regexuri' value TRUE)

Weitere Informationen zur REGEXP_LIKE-Bedingung finden Sie unter REGEXP_LIKE-Bedingung in der Oracle Database 19c SQL Language Reference oder in der Oracle Database 26ai SQL Language Reference.

regexuri: True

Standardwert:False

type Gibt den Dateityp an.

type: avro | orc | parquet

schema

Wenn das Schema auf first oder all gesetzt ist, werden die Spalten und Datentypen der externen Tabelle automatisch aus den Metadaten der Avro-, ORC- oder Parquet-Datei abgeleitet.

Die Spaltennamen entsprechen denen in Avro, ORC oder Parquet. Die Datentypen werden von den Datentypen Avro, ORC oder Parquet in Oracle-Datentypen konvertiert. Alle Spalten werden in die Tabelle eingefügt.

Der Wert first gibt an, dass die Metadaten aus der ersten Avro-, ORC- oder Parquet-Datei in der file_uri_list verwendet werden, um die Spalten und ihre Datentypen automatisch zu generieren. Verwenden Sie first, wenn alle Dateien dasselbe Schema aufweisen.

Der Wert all gibt an, dass die Metadaten aus allen Avro-, ORC- oder Parquet-Dateien in der Datei file_uri_list verwendet werden, um die Spalten und ihre Datentypen automatisch zu generieren. Verwenden Sie all (langsamer), wenn die Dateien unterschiedliche Schemas aufweisen können.

Standard: Wenn column_list angegeben ist, wird der Wert schema, sofern angegeben, ignoriert. Wenn column_list nicht angegeben ist, lautet der Standardwert schema first.

Hinweis: Für Dateien im Avro-, ORC- oder Parquet-Format ist die Formatoption schema nicht verfügbar, und der Parameter column_list muss für partitionierte externe Tabellen mit der Prozedur DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE angegeben werden.

schema : first | all

DBMS_CLOUD-Package - Datentypzuordnung von Avro zu Oracle

Beschreibt die Zuordnung von Avro-Datentypen zu Oracle-Datentypen.

Hinweis: Komplexe Typen wie Maps, Arrays und Structs werden ab Oracle Database 19c unterstützt. Informationen zur Verwendung von komplexen Avro-Typen finden Sie unter Komplexe DBMS_CLOUD-Package Avro, ORC und Parquet.

Avro-Typ Oracle-spezifischer Typ
INT NUMBER(10)
LONG ZAHL (19)
Frachtbrief ZAHL (1)
UTF8-BYTEARRAY RAW(2000)
FLT BINARY_FLOAT
DBL BINARY_DOUBLE
DEZIMAL (p) ANZAHL(p)
DECIMAL(p,s) NUMBER(p,s)
DATE DATE
STRING VARCHAR2
TIME_MILLIS VARCHAR2(20 BYTE)
TIME_MICROS VARCHAR2(20 BYTE)
TIMESTAMP_MILLIS TIMESTAMP(3)
TIMESTAMP_MICROS TIMESTAMP(6)
ENUM VARCHAR2(n) Wo: "n" die tatsächliche maximale Länge der möglichen Werte der AVRO ENUM ist
DURATION RAW(2000)
FIXED RAW(2000)
NULL VARCHAR2(1) BYTE

Informationen zur Verwendung von komplexen Avro-Typen finden Sie unter Komplexe DBMS_CLOUD-Package Avro, ORC und Parquet.

DBMS_CLOUD-Package - Datentypzuordnung von ORC zu Oracle

Beschreibt die Zuordnung von ORC-Datentypen zu Oracle-Datentypen.

Weitere Informationen zur Verwendung von komplexen ORC-Typen finden Sie unter DBMS_CLOUD Package Avro, ORC und Parquet Complex Types.

ORC-Typ Oracle-spezifischer Typ Weitere Informationen
Array VARCHAR2(n) JSON-Format DBMS_CLOUD-Package - Komplexe Avro-, ORC- und Parquet-Typen
bigint (64 Bit) ZAHL (19)  
binär BLOB  
boolesch (1 Bit) ZAHL (1)  
char CHAR(n)  
Datum DATE  
double (Double-Datentyp) BINARY_DOUBLE  
Fließkomma BINARY_FLOAT  
int (32 Bit) NUMBER(10)  
Liste VARCHAR2(n) JSON-Format DBMS_CLOUD-Package - Komplexe Avro-, ORC- und Parquet-Typen
Map VARCHAR2(n) JSON-Format DBMS_CLOUD-Package - Komplexe Avro-, ORC- und Parquet-Typen
smallint (16 Bit) ZAHL (5)  
string (Zeichenfolgendatentyp) VARCHAR2(4000)  
struct VARCHAR2(n) JSON-Format DBMS_CLOUD-Package - Komplexe Avro-, ORC- und Parquet-Typen
Zeitstempel TIMESTAMP  
tinyint (8 Bit) ZAHL (3)  
Gewerkschaft VARCHAR2(n) JSON-Format DBMS_CLOUD-Package - Komplexe Avro-, ORC- und Parquet-Typen
varchar VARCHAR2(n)  

DBMS_CLOUD-Package - Datentypzuordnung von Parquet zu Oracle

Beschreibt die Zuordnung von Parquet-Datentypen zu Oracle-Datentypen.

Hinweis: Komplexe Typen wie Maps, Arrays und Structs werden ab Oracle Database 19c unterstützt. Informationen zur Verwendung komplexer Parquet-Typen finden Sie unter DBMS_CLOUD-Package Avro, ORC und Parquet-Komplextypen.

Parkettart Oracle-spezifischer Typ
UINT_64 ZAHL (20)
INT_64 ZAHL (19)
UINT_32 NUMBER(10)
INT_32 NUMBER(10)
UINT_16 ZAHL (5)
INT_16 ZAHL (5)
UINT_8 ZAHL (3)
INT_8 ZAHL (3)
Frachtbrief ZAHL (1)
UTF8-BYTEARRAY VARCHAR2(4000 BYTE)
FLT BINARY_FLOAT
DBL BINARY_DOUBLE
DEZIMAL (p) ANZAHL(p)
DECIMAL(p,s) NUMBER(p,s)
DATE DATE
STRING VARCHAR2(4000)
TIME_MILLIS VARCHAR2(20 BYTE)
ZEIT_MILLIS_UTC VARCHAR2(20 BYTE)
TIME_MICROS VARCHAR2(20 BYTE)
ZEITMIKROFONE VARCHAR2(20 BYTE)
TIMESTAMP_MILLIS TIMESTAMP(3)
ZEITSTEMPEL_MILLIS_UTC TIMESTAMP(3)
TIMESTAMP_MICROS TIMESTAMP(6)
TIMESTAMP_MICROS_UTC TIMESTAMP(6)
TIMESTAMP_NANOS TIMESTAMP(9)

Informationen zur Verwendung komplexer Parquet-Typen finden Sie unter DBMS_CLOUD-Package Avro, ORC und Parquet-Komplextypen.

DBMS_CLOUD-Package - Datentypzuordnung von Oracle zu Parquet

Beschreibt die Zuordnung von Oracle-Datentypen zu Parquet-Datentypen.

Oracle-spezifischer Typ Parkettart
BINARY_DOUBLE DBL
BINARY_FLOAT FLT
DATE DATE
NUMBER(p,s) DECIMAL(p,s)
ANZAHL(p) DEZIMAL (p)
TIMESTAMP(3) TIMESTAMP_MILLIS
TIMESTAMP(3) ZEITSTEMPEL_MILLIS_UTC
TIMESTAMP(6) TIMESTAMP_MICROS
TIMESTAMP(6) TIMESTAMP_MICROS_UTC
TIMESTAMP(9) TIMESTAMP_NANOS
VARCHAR2(4000) STRING

NLS-Sessionparameter

Die NLS-Sessionparameter NLS_DATE_FORMAT, NLS_TIMESTAMP_FORMAT, NLS_TIMESTAMP_TZ_FORMAT und NLS_NUMERIC_CHARACTERS definieren, wie das Datum, der Zeitstempel, der Zeitstempel mit dem Zeitzonenformat und das Radixtrennzeichen für den Zeitstempel mit Dezimalmarkierung angezeigt werden sollen, wenn eine Tabelle mit diesen Spaltentypen abgefragt wird.

Wenn Sie Daten mit DBMS_CLOUD.EXPORT_DATA exportieren und eine Parquet-Ausgabe angeben, liest die autonome KI-Datenbank die Werte dieser Parameter aus der Tabelle NLS_SESSION_PARAMETERS. Autonomous AI Database verwendet diese Werte, um die Oracle-Datentypen DATE oder TIMESTAMP in Parquet-Typen zu konvertieren.

Die Parameter NLS_SESSION_PARAMETERS unterstützen eine RR-Formatmaske (Spezifikation mit zwei Zeichen im Jahr).

Die Formatmaske RR für das Jahr wird für diese Parameter nicht unterstützt, wenn Sie Daten mit DBMS_CLOUD.EXPORT_DATA in Parquet exportieren. Wenn Sie versuchen, in Parkett zu exportieren, und NLS_SESSION_PARAMETERS die Formatmaske RR verwenden soll, wird ein Anwendungsfehler ausgelöst (der Standardwert für das Format RR hängt vom Wert des Parameters NLS_TERRITORY ab).

Wenn einer der Parameter NLS_DATE_FORMAT, NLS_TIMESTAMP_FORMAT oder NLS_TIMESTAMP_TZ_FORMAT die Formatmaske RR verwendet, müssen Sie den Formatwert in einen unterstützten Wert ändern, um Daten mit DBMS_CLOUD.EXPORT_DATA in Parquet zu exportieren. Beispiel:

ALTER SESSION SET NLS_DATE_FORMAT = "MM/DD/YYYY";
ALTER SESSION SET NLS_TIMESTAMP_FORMAT = 'YYYY-MM-DD HH:MI:SS.FF';
ALTER SESSION SET  NLS_TIMESTAMP_TZ_FORMAT='YYYY-MM-DD HH:MI:SS.FF TZH:TZM';

Nachdem Sie den Wert geändert haben, können Sie die Änderung prüfen, indem Sie die View NLS_SESSION_PARAMETERS abfragen:

SELECT value FROM NLS_SESSION_PARAMETERS
       WHERE parameter IN ('NLS_DATE_FORMAT','NLS_TIMESTAMP_FORMAT','NLS_TIMESTAMP_TZ_FORMAT');

Wenn NLS_DATE_FORMAT festgelegt ist, gilt dies für die Spalten mit dem Datentyp DATE. Wenn NLS_TIMESTAMP_FORMAT festgelegt ist, gilt dies für die Spalten mit dem Datentyp TIMESTAMP. Wenn NLS_TIMESTAMP_TZ_FORMAT festgelegt ist, gilt dies für die Spalten mit dem Datentyp TIMESTAMP WITH TIME ZONE.

Weitere Informationen finden Sie unter Datums- und Uhrzeitparameter in Oracle Database 19c Database Globalization Support Guide oder Oracle Database 26ai Database Globalization Support Guide und NLS Data Dictionary Views in Oracle Database 19c Database Globalization Support Guide oder Oracle Database 26ai Database Globalization Support Guide.

DBMS_CLOUD-Package - Komplexe Avro-, ORC- und Parquet-Typen

Beschreibt die Zuordnung komplexer Avro-, ORC- und Parquet-Datentypen zu Oracle-Datentypen.

Die autonome KI-Datenbank unterstützt komplexe Datentypen, einschließlich der folgenden komplexen Typen:

Wenn Sie den Quelldateityp Avro, ORC oder Parquet angeben und die Quelldatei komplexe Spalten enthält, geben autonome KI-Datenbankabfragen JSON für die komplexen Spalten zurück. Dies vereinfacht die Verarbeitung von Abfrageergebnissen. Sie können die leistungsstarken JSON-Parsingfeatures von Oracle konsistent über die Dateitypen und Datentypen hinweg verwenden. Die folgende Tabelle zeigt das Format für die komplexen Typen in der autonomen KI-Datenbank:

Hinweis: Die komplexen Felder werden den Spalten VARCHAR2 und den Größenbeschränkungen VARCHAR2 zugeordnet.

Typ Parquet ORC Avro Oracle
Liste: Folge von Werten Liste Liste Array VARCHAR2 (JSON-Format)
Karte: Liste der Objekte mit einem Schlüssel Zuordnen Zuordnen Zuordnen VARCHAR2 (JSON-Format)
Union: Werte unterschiedlicher Art Nicht verfügbar Union Union VARCHAR2 (JSON-Format)
Objekt: Null oder mehr Schlüssel/Wert-Paare Struct Struct Datensatz VARCHAR2 (JSON-Format)

Wenn Ihre ORC-, Parquet- oder Avro-Quelldateien komplexe Typen enthalten, können Sie die JSON-Ausgabe für diese allgemeinen komplexen Typen abfragen. Beispiel: Im Folgenden wird eine ORC-Datei, movie-info.orc, mit einem komplexen Typ dargestellt (dieselbe komplexe Typverarbeitung gilt für Parquet- und Avro-Quelldateien).

Betrachten Sie die Datei movie-info.orc mit dem folgenden Schema:

id    int
original_title string
overview       string
poster_path    string
release_date   string
vote_count     int
runtime        int
popularity     double
genres         array<struct<id:int,name:string>

Beachten Sie, dass jeder Film mit einem Array von genres nach mehreren genres kategorisiert wird. Das genres-Array ist ein array von structs, und jedes Element hat ein id (int) und ein name (string). Das Array genres wird als komplexer Typ betrachtet. Sie können eine Tabelle über diese ORC-Datei mit DBMS_CLOUD.CREATE_EXTERNAL_TABLE wie folgt erstellen:

BEGIN
DBMS_CLOUD.CREATE_EXTERNAL_TABLE(
        table_name =>'movie_info',
        credential_name =>'OBJ_STORE_CRED',
        file_uri_list =>'https://objectstorage.us-phoenix-1.oraclecloud.com/n/mytenancy/b/movies/o/movie-info.orc',
        format => '{"type":"orc", "schema": "first"}');
END;
/

Wenn Sie die externe Tabelle erstellen, generiert die Datenbank die Spalten automatisch basierend auf dem Schema in der ORC-Datei (wenn Sie Avro oder Parquet verwenden, gilt dasselbe). In diesem Beispiel erstellt die DBMS_CLOUD.CREATE_EXTERNAL_TABLE eine Tabelle in der Datenbank wie folgt:

CREATE TABLE "ADMIN"."MOVIE_INFO"
    ( "ID"
      NUMBER(10,0),
      "ORIGINAL_TITLE"  VARCHAR2(4000 BYTE) COLLATE "USING_NLS_COMP",
      "OVERVIEW"        VARCHAR2(4000 BYTE) COLLATE "USING_NLS_COMP",
      "POSTER_PATH"     VARCHAR2(4000 BYTE) COLLATE "USING_NLS_COMP",
      "RELEASE_DATE"    VARCHAR2(4000 BYTE) COLLATE "USING_NLS_COMP",
      "VOTE_COUNT"      NUMBER(10,0),
      "RUNTIME"         NUMBER(10,0),
      "POPULARITY"      BINARY_DOUBLE,
      "GENRES"          VARCHAR2(4000 BYTE) COLLATE "USING_NLS_COMP"
    )  DEFAULT COLLATION "USING_NLS_COMP"
    ORGANIZATION EXTERNAL
     ( TYPE      ORACLE_BIGDATA
       DEFAULT DIRECTORY "DATA_PUMP_DIR"
       ACCESS PARAMETERS
       ( com.oracle.bigdata.credential.name=OBJ_STORE_CRED
         com.oracle.bigdata.fileformat=ORC
   )
       LOCATION
        (
      'https://objectstorage.us-phoenix-1.oraclecloud.com/n/mytenancy/b/movies/o/movie-info.orc'
           )
     )
   REJECT LIMIT UNLIMITED
   PARALLEL;
 )

Jetzt können Sie die Filmdaten abfragen:

SELECT original_title, release_date, genres
     FROM movie_info
     WHERE release_date > '2000'
     ORDER BY original_title;

Dadurch wird folgende Ausgabe erzeugt:

original_title              release_date   genres
(500) Days of Summer        2009           [{"id":3,"name":"Drama"},{"id":6,"name":"Comedy"},{"id":17,"name":"Horror"},{"id":19,"name":"Western"},{"id":18,"name":"War"},{"id":15,"name":"Romance"}]
10,000 BC                   2008           [{"id":6,"name":"Comedy"}]
11:14                       2003           [{"id":9,"name":"Thriller"},{"id":14,"name":"Family"}]
127 Hours                   2010           [{"id":6,"name":"Comedy"},{"id":3,"name":"Drama"}]
13 Going on 30              2004           [{"id":6,"name":"Comedy"},{"id":3,"name":"Drama"},{"id":18,"name":"War"},{"id":15,"name":"Romance"}]
1408                        2007           [{"id":45,"name":"Sci-Fi"},{"id":6,"name":"Comedy"},{"id":17,"name":"Horror"},{"id":6,"name":"Comedy"},{"id":18,"name":"War"}]

Beachten Sie, dass der komplexe Typ genres als JSON-Array zurückgegeben wird.

Um die JSON-Daten nützlicher zu machen, können Sie die Spalte mit den JSON-Funktionen von Oracle transformieren. Beispiel: Sie können die JSON-Notation "." sowie die leistungsstärkeren Transformationsfunktionen wie JSON_TABLE verwenden.

Weitere Informationen zur "."-Notation finden Sie unter Simple Dot-Notation Access to JSON Data im Oracle Database 19c JSON Developer's Guide oder im Oracle Database 26ai JSON Developer's Guide.

Informationen zu JSON_TABLE finden Sie unter SQL/JSON-Funktion JSON_TABLE in der Dokumentation Oracle Database 19c JSON Developer's Guide oder in der Dokumentation Oracle Database 26ai JSON Developer's Guide.

Das folgende Beispiel zeigt eine Abfrage der Tabelle, die jeden Wert des Arrays annimmt und den Wert in eine Zeile in der Ergebnismenge umwandelt:

SELECT original_title, release_date, m.genre_name, genres
    FROM movie_info mi,
       JSON_TABLE(mi.genres, '$.name[*]'
        COLUMNS (genre_name VARCHAR2(25) PATH
      '$')
                 ) AS m
 WHERE rownum < 10;

JSON_TABLE erstellt eine Zeile für jeden Wert des Arrays, Think Outer Join und die Struktur wird geparst, um den Namen des Genres zu extrahieren. Dadurch wird folgende Ausgabe erzeugt:

original_title                   release_date         genre_name        genres
(500) Days of Summer             2009                 Drama             [{"id":3,"name":"Drama"},{"id":6,"name":"Comedy"},
                                                                        {"id":17,"name":"Horror"},{"id":19,"name":"Western"},
                                                                        {"id":18,"name":"War"},{"id":15,"name":"Romance"}]
(500) Days of Summer             2009                 Comedy            [{"id":3,"name":"Drama"},{"id":6,"name":"Comedy"},
                                                                        {"id":17,"name":"Horror"},{"id":19,"name":"Western"},
                                                                        {"id":18,"name":"War"},{"id":15,"name":"Romance"}]
(500) Days of Summer             2009                 Horror            [{"id":3,"name":"Drama"},{"id":6,"name":"Comedy"},
                                                                        {"id":17,"name":"Horror"},{"id":19,"name":"Western"},
                                                                        {"id":18,"name":"War"},{"id":15,"name":"Romance"}]
(500) Days of Summer             2009                 Western           [{"id":3,"name":"Drama"},{"id":6,"name":"Comedy"},
                                                                        {"id":17,"name":"Horror"},{"id":19,"name":"Western"},
                                                                        {"id":18,"name":"War"},{"id":15,"name":"Romance"}]
(500) Days of Summer             2009                 War               [{"id":3,"name":"Drama"},{"id":6,"name":"Comedy"},
                                                                        {"id":17,"name":"Horror"},{"id":19,"name":"Western"},
                                                                        {"id":18,"name":"War"},{"id":15,"name":"Romance"}]
(500) Days of Summer             2009                 Romance           [{"id":3,"name":"Drama"},{"id":6,"name":"Comedy"},
                                                                        {"id":17,"name":"Horror"},{"id":19,"name":"Western"},
                                                                        {"id":18,"name":"War"},{"id":15,"name":"Romance"}]
10,000 BC                        2008                 Comedy            [{"id":6,"name":"Comedy"}]
11:14                            2003                 Family            [{"id":9,"name":"Thriller"},{"id":14,"name":"Family"}]
11:14                            2003                 Thriller          [{"id":9,"name":"Thriller"},{"id":14,"name":"Family"}]
127 Hours                        2010                 Comedy            [{"id":6,"name":"Comedy"},{"id":3,"name":"Drama"}]
127 Hours                        2010                 Drama             [{"id":6,"name":"Comedy"},{"id":3,"name":"Drama"}]
13 Going on 30                   2004                 Romance           [{"id":6,"name":"Comedy"},{"id":3,"name":"Drama"},
                                                                        {"id":18,"name":"War"},{"id":15,"name":"Romance"}]
13 Going on 30                   2004                 Comedy            [{"id":6,"name":"Comedy"},{"id":3,"name":"Drama"},
                                                                        {"id":18,"name":"War"},{"id":15,"name":"Romance"}]
13 Going on 30                   2004                 War               [{"id":6,"name":"Comedy"},{"id":3,"name":"Drama"},
                                                                        {"id":18,"name":"War"},{"id":15,"name":"Romance"}]
13 Going on 30                   2004                 Drama             [{"id":6,"name":"Comedy"},{"id":3,"name":"Drama"},
                                                                        {"id":18,"name":"War"},{"id":15,"name":"Romance"}]

DBMS_CLOUD-Package - Spaltennamenszuordnung von Avro, ORC und Parquet zu Oracle

Beschreibt, wie die Spaltennamen Avro, ORC und Parquet in Oracle-Spaltennamen konvertiert werden.

Die folgenden Spaltennamen werden für Avro-, ORC- und Parquet-Spaltennamen unterstützt. Möglicherweise müssen jedoch doppelte Anführungszeichen für Oracle SQL-Referenzen in externen Tabellen verwendet werden. Verwenden Sie daher aus Gründen der Benutzerfreundlichkeit und um zu vermeiden, dass bei der Referenzierung von Spaltennamen doppelte Anführungszeichen verwendet werden müssen, wenn möglich Folgendes nicht in den Spaltennamen Avro, ORC und Parquet:

In der folgenden Tabelle sind verschiedene Typen von Avro-, ORC- und Parquet-Spaltennamen sowie Regeln für die Verwendung der Spaltennamen in Oracle-Spaltennamen in externen Tabellen aufgeführt.

Avro-, ORC- oder Parkettname TABLE-Namen erstellen Oracle-KATALOG Gültige SQL Hinweise:
Teil, Teil oder Teil Teil, Teil, TEIL TEIL

select part

select Part

select paRt

select PART

Oracle implizit Spaltennamen in Großbuchstaben ohne Anführungszeichen.
Auftragsnr. "Auftrags-Nr." Auftragsnr. select "Ord No" Doppelte Anführungszeichen sind erforderlich, wenn Leerzeichen eingebettet sind, wodurch auch die Groß-/Kleinschreibung beibehalten wird.
__index_key__ "__index_key__" __index_key__ select "__index_key__" Doppelte Anführungszeichen sind erforderlich, wenn ein vorangestellter Unterstrich vorhanden ist, der auch die Groß-/Kleinschreibung beibehält.
6Wege "6Wege" 6Wege select "6Way" Doppelte Anführungszeichen sind erforderlich, wenn eine führende numerische Ziffer vorhanden ist, die auch die Groß-/Kleinschreibung behält.
CREATE, CREATE oder CREATE usw. (jegliche Fallvariation) PARTITION, PARTITION, PARTITION usw. (für ein von Oracle reserviertes Wort) "CREATE"-"PARTITION" PARTITION ERSTELLEN

select "CREATE"

select "PARTITION"

Für reservierte Oracle SQL-Wörter sind doppelte Anführungszeichen erforderlich. Diese werden in Großbuchstaben geschrieben, müssen jedoch immer in doppelten Anführungszeichen stehen, wenn sie überall in SQL verwendet werden.
ROWID, ROWID, ROWID usw. (für ROWID siehe Hinweise) Zeilen-ID  

select "rowid"

select "Rowid"

select "ROWid"

select "rowid"

Bei ROWID behält jede gemischte oder kleingeschriebene Variation von ROWID das Gehäuse bei und muss immer mit doppelten Anführungszeichen versehen sein und die ursprünglichen Gehäusevarianten verwenden. Aufgrund des inhärenten Konflikts mit Oracle ROWID für die Tabelle wird bei Angabe der ROWID in Großbuchstaben automatisch als "ROWID" in Kleinbuchstaben gespeichert und muss bei Referenzierung immer in doppelte Anführungszeichen gesetzt werden.

Hinweise