DBMS_CLOUD - Unterstützung für Avro, ORC und Parquet
In diesem Abschnitt wird die Unterstützung von DBMS_CLOUD
für Avro, ORC und Parquet beschrieben, die mit Autonomous 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 Argument format 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 |
---|---|---|
|
Wenn der Wert von Die Zeichen "*" und "?" werden als Platzhalterzeichen betrachtet, wenn der Parameter Normale Ausdrucksmuster werden nur für den Dateinamen oder Unterordnerpfad in Ihren URIs unterstützt, und der Musterabgleich ist mit dem der Funktion Bei externen Tabellen wird diese Option nur mit den Tabellen unterstützt, die in einer Datei im Object Storage erstellt werden. Beispiel:
Weitere Informationen zur Bedingung |
Standardwert: |
type |
Gibt den Dateityp an. |
|
|
Wenn das Schema auf Die Spaltennamen entsprechen denen in Avro, ORC oder Parquet. Die Datentypen von Avro, ORC oder Parquet werden in Oracle-Datentypen konvertiert. Alle Spalten werden der Tabelle hinzugefügt. Der Wert Der Wert Standard: Wenn Hinweis: Bei Dateien im Format Avro, ORC oder Parquet ist die Formatoption |
|
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 DBMS_CLOUD Package Avro, ORC und Parquet.Avro-Typ | Oracle-spezifischer Typ |
---|---|
INT | NUMBER(10) |
LONG | ANZAHL(19) |
BOOT | ANZAHL(1) |
UTF8 BYTE_ARRAY | RAW(2000) |
FLT | BINARY_FLOAT |
DBL | BINARY_DOUBLE |
DEZIMAL(p) | ZAHL(p) |
DEZIMAL(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) Dabei gilt: "n" ist die tatsächliche maximale Länge der möglichen Werte für AVRO ENUM. |
DURATION | RAW(2000) |
FIXED | RAW(2000) |
NULL | VARCHAR2(1) BYTE |
Informationen zur Verwendung von komplexen Avro-Typen finden Sie unter DBMS_CLOUD-Package - Komplexe Avro-, ORC- und Parquet-Typen.
DBMS_CLOUD-Package - Datentypzuordnung von ORC zu Oracle
Beschreibt die Zuordnung von ORC-Datentypen zu Oracle-Datentypen.
Informationen zur Verwendung von komplexen ORC-Typen finden Sie unter DBMS_CLOUD-Package - Komplexe Avro-, ORC- und Parquet-Typen.
ORC-Typ | Oracle-spezifischer Typ | Weitere Informationen |
---|---|---|
Array | VARCHAR2(n) (JSON-Format) | DBMS_CLOUD-Package - Komplexe Avro-, ORC- und Parquet-Typen |
bigint (64 Bit) | ANZAHL(19) | |
binär | BLOB | |
boolean (1 Bit) | ANZAHL(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) | ANZAHL(5) | |
string (Zeichenfolgendatentyp) | VARCHAR2(4000) | |
struct | VARCHAR2(n) (JSON-Format) | DBMS_CLOUD-Package - Komplexe Avro-, ORC- und Parquet-Typen |
Zeitstempel | TIMESTAMP | |
tinyint (8 Bit) | ANZAHL(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 von komplexen Parquet-Typen finden Sie unter DBMS_CLOUD-Package - Komplexe Avro-, ORC- und Parquet-Typen.Parquet-Typ | Oracle-spezifischer Typ |
---|---|
UINT_64 | ANZAHL(20) |
INT_64 | ANZAHL(19) |
UINT_32 | NUMBER(10) |
INT_32 | NUMBER(10) |
UINT_16 | ANZAHL(5) |
INT_16 | ANZAHL(5) |
UINT_8 | ANZAHL(3) |
INT_8 | ANZAHL(3) |
BOOT | ANZAHL(1) |
UTF8 BYTE_ARRAY | VARCHAR2(4000 BYTE) |
FLT | BINARY_FLOAT |
DBL | BINARY_DOUBLE |
DEZIMAL(p) | ZAHL(p) |
DEZIMAL(p,s) | NUMBER(p,s) |
DATE | DATE |
STRING | VARCHAR2(4000) |
TIME_MILLIS | VARCHAR2(20 BYTE) |
TIME_MILLIS_UTC | VARCHAR2(20 BYTE) |
TIME_MICROS | VARCHAR2(20 BYTE) |
TIME_MICROS_UTC | VARCHAR2(20 BYTE) |
TIMESTAMP_MILLIS | TIMESTAMP(3) |
TIMESTAMP_MILLIS_UTC | TIMESTAMP(3) |
TIMESTAMP_MICROS | TIMESTAMP(6) |
TIMESTAMP_MICROS_UTC | TIMESTAMP(6) |
TIMESTAMP_NANOS | TIMESTAMP(9) |
Informationen zur Verwendung von komplexen Parquet-Typen finden Sie unter DBMS_CLOUD-Package - Komplexe Avro-, ORC- und Parquet-Typen.
DBMS_CLOUD-Package - Datentypzuordnung von Oracle zu Parquet
Beschreibung der Zuordnung von Oracle-Datentypen zu Parquet-Datentypen.
Oracle-spezifischer Typ | Parquet-Typ |
---|---|
BINARY_DOUBLE | DBL |
BINARY_FLOAT | FLT |
DATE | DATE |
NUMBER(p,s) | DEZIMAL(p,s) |
ZAHL(p) | DEZIMAL(p) |
TIMESTAMP(3) | TIMESTAMP_MILLIS |
TIMESTAMP(3) | TIMESTAMP_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 Datum, Zeitstempel, Zeitstempel mit Zeitzonenformat und Radixtrennzeichen für Zeitstempel mit Dezimalzeichen angezeigt werden sollen, wenn eine Tabelle mit diesen Spaltentypen abgefragt wird.
Wenn Sie Daten mit DBMS_CLOUD.EXPORT_DATA
exportieren und die Parquet-Ausgabe angeben, liest Autonomous Database außerdem die Werte dieser Parameter aus der Tabelle NLS_SESSION_PARAMETERS
. Autonomous Database verwendet diese Werte, um die Oracle-Datentypen DATE
oder TIMESTAMP
in Parquet-Typen zu konvertieren.
Die NLS_SESSION_PARAMETERS
-Parameter unterstützen eine RR
-Formatmaske (zwei-Zeichen-Jahresangabe).
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. Ein Anwendungsfehler wird ausgelöst, wenn Sie versuchen, nach Parquet zu exportieren, und NLS_SESSION_PARAMETERS
so eingestellt ist, dass die Formatmaske RR
verwendet wird (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';
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 es für die Spalten mit dem Datentyp DATE
. Wenn NLS_TIMESTAMP_FORMAT
festgelegt ist, gilt es für die Spalten mit dem Datentyp TIMESTAMP
. Wenn NLS_TIMESTAMP_TZ_FORMAT
festgelegt ist, gilt es für die Spalten mit dem Datentyp TIMESTAMP WITH TIME ZONE
.
Weitere Informationen finden Sie unter Date and Time Parameters in der Dokumentation Oracle Database 19c Database Globalization Support Guide oder Oracle Database 23ai Database Globalization Support Guide und NLS Data Dictionary Views in der Dokumentation Oracle Database 19c Database Globalization Support Guide oder in der Dokumentation Oracle Database 23ai 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.
Autonomous Database unterstützt komplexe Datentypen, darunter:
-
struct
-
Liste
-
Map
-
Gewerkschaft
-
Array
Wenn Sie den Quelldateityp Avro, ORC oder Parquet angeben und die Quelldatei komplexe Spalten enthält, geben Autonomous Database-Abfragen JSON für die komplexen Spalten zurück. Dies vereinfacht die Verarbeitung von Abfrageergebnissen, da Sie die leistungsstarken JSON-Parsingfeatures von Oracle konsistent für alle Datei- und Datentypen verwenden können. In der folgenden Tabelle wird das Format für die komplexen Typen in Autonomous Database angezeigt:
Hinweis:
Die komplexen Felder werdenVARCHAR2
-Spalten zugeordnet, und es gelten VARCHAR2
-Größe-Limits.
Typ | Parquet | ORC | Avro | Oracle |
---|---|---|---|---|
Liste: Wertsequenz | Liste | Liste | Array | VARCHAR2 (JSON-Format)
|
Map: Liste von Objekten mit einem einzelnen Schlüssel | Zuordnen | Zuordnen | Zuordnen | VARCHAR2 (JSON-Format)
|
Vereinigungsmenge: Werte unterschiedlichen Typs | 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 angezeigt (die gleiche komplexe Typbehandlung gilt für Parquet- und Avro-Quelldateien).
Betrachten wir 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 dem Array genres
nach mehreren genres
kategorisiert wird. Das genres
-Array ist ein array
von structs
, und jedes Element hat eine id
(int
) und einen name
(string
). Das Array genres
wird als komplexer Typ betrachtet. Sie können wie folgt eine Tabelle für diese ORC-Datei mit DBMS_CLOUD.CREATE_EXTERNAL_TABLE
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 automatisch die Spalten basierend auf dem Schema in der ORC-Datei (wenn Sie Avro oder Parquet verwenden, gilt dasselbe). In diesem Beispiel erstellt DBMS_CLOUD.CREATE_EXTERNAL_TABLE
wie folgt eine Tabelle in Ihrer Datenbank:
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 noch besser nutzen zu können, können Sie die Spalte mit den JSON-Funktionen von Oracle transformieren. Beispiel: Sie können die JSON-Punktnotation (".") sowie die leistungsstärkeren Transformationsfunktionen wie JSON_TABLE
verwenden.
Informationen zur "."-Notation finden Sie unter Simple Dot-Notation Access to JSON Data in der Oracle Database 19c JSON Developer's Guide oder im Oracle Database 23ai 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 im Oracle Database 23ai JSON Developer's Guide.
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, wie bei einem Outer Join, und "struct" 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 Regeln für die Konvertierung der Avro-, ORC- und Parquet-Spaltennamen in Oracle-Spaltennamen.
Die folgenden Elemente werden bei Avro-, ORC- und Parquet-Spaltennamen unterstützt. Möglicherweise müssen Sie für Oracle SQL-Referenzen in externen Tabellen jedoch doppelte Anführungszeichen verwenden. Um die Verwendung zu vereinfachen und zu vermeiden, dass beim Referenzieren von Spaltennamen doppelte Anführungszeichen verwendet werden müssen, vermeiden Sie daher in Avro-, ORC- und Parquet-Spaltennamen nach Möglichkeit die Verwendung von Folgendem:
-
Eingebettete Leerzeichen
-
Vorangestellte Zahlen
-
Vorangestellte Unterstriche
-
Reservierte Oracle SQL-Wörter
Die folgende Tabelle zeigt verschiedene Typen von Avro-, ORC- und Parquet-Spaltennamen sowie Regeln für ihre Verwendung in Oracle-Spaltennamen in externen Tabellen.
Avro-, ORC- oder Parquet-Name | CREATE TABLE-Name | Oracle-KATALOG | Gültige SQL | Hinweise: |
---|---|---|---|---|
part, Part oder PART | Teil, Teil, Teil | Teil |
|
Oracle setzt Spaltennamen ohne Anführungszeichen implizit in Großbuchstaben |
Auftragsnr. | "Anforderung 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 Unterstrich vorangestellt ist, wodurch auch die Groß-/Kleinschreibung beibehalten wird |
6Way | "6Way" | 6Way | select "6Way" |
Doppelte Anführungszeichen sind erforderlich, wenn eine numerische Ziffer vorangestellt ist, wodurch auch die Groß-/Kleinschreibung beibehalten wird |
create, Create oder CREATE usw. (beliebige Kombination aus Groß-/Kleinbuchstaben); partition, Partition, PARTITION usw. (für ein reserviertes Oracle-Wort) | "CREATE"-PARTITION | PARTITION ERSTELLEN |
|
Für reservierte Oracle SQL-Wörter sind doppelte Anführungszeichen erforderlich. Ihre Großschreibung wird erzwungen, sie müssen jedoch immer in doppelte Anführungszeichen gesetzt werden, wenn sie in SQL verwendet werden |
ROWID, ROWID, ROWid usw. (siehe Hinweise zu ROWID) | Zeilen-ID |
|
Bei ROWID behält jede Variante aus Kleinbuchstaben oder einer Kombination von Groß-/Kleinbuchstaben die Groß-/Kleinschreibung bei und muss immer mit der genauen Ausgangsschreibweise in doppelte Anführungszeichen gesetzt werden. Wenn Sie eine ROWID in Großbuchstaben angeben, wird sie aufgrund des inhärenten Konflikts mit der Oracle ROWID für die Tabelle automatisch als "ROWID" in Kleinbuchstaben gespeichert und muss bei der Referenzierung immer in Anführungszeichen gesetzt werden. |
Hinweise:
-
Im Allgemeinen kann ein Spaltenname in einer externen Tabelle ohne doppelte Anführungszeichen referenziert werden.
-
Sofern in den Spaltennamen kein Leerzeichen eingebettet oder ihm ein Unterstrich ("_") oder eine numerische Ziffer ("0" bis "9") vorangestellt ist, wird die ursprüngliche Groß-/Kleinschreibung des Spaltennamens beibehalten. Der Spaltenname muss immer mit der ursprünglichen Groß-/Kleinschreibung (Groß-, Kleinbuchstaben oder eine beliebige Kombination daraus) für den Avro-, ORC- oder Parquet-Spaltennamen in doppelte Anführungszeichen gesetzt werden.
-
Nachdem Sie mit
DBMS_CLOUD.CREATE_EXTERNAL_TABLE
eine externe Tabelle mit dem alsavro
,orc
oderparquet
angegebenen Format erstellt haben, können Sie die Spaltennamen der Tabelle mit dem BefehlDESCRIBE
in SQL*Plus anzeigen. -
Wenn reservierte Oracle SQL-Wörter in den Spaltennamen Avro, ORC oder Parquet verwendet werden, müssen sie immer in doppelte Anführungszeichen gesetzt werden, wenn sie an einer beliebigen Stelle in SQL referenziert werden. Weitere Informationen finden Sie unter Reservierte Oracle SQL-Wörter in der SQL-Sprachreferenz für Oracle Database 23ai oder in der SQL-Sprachreferenz für Oracle Database 23ai.