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 Die Zeichen "*" und "?" gelten als Platzhalterzeichen, wenn der Parameter 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 Bei externen Tabellen wird diese Option nur bei Tabellen unterstützt, die in einer Datei im Object Storage erstellt werden. Beispiel:
Weitere Informationen zur |
Standardwert: |
type |
Gibt den Dateityp an. |
|
schema |
Wenn das Schema auf 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 Der Wert Standard: Wenn Hinweis: Für Dateien im Avro-, ORC- oder Parquet-Format 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 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:
- struct
- Liste
- Map
- Gewerkschaft
- Array
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:
- Eingebettete Leerzeichen
- Führende Zahlen
- Führende Unterstriche
- reservierte Oracle SQL-Wörter
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 |
|
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 |
|
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 |
|
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
-
Im Allgemeinen kann ein Spaltenname in einer externen Tabelle ohne doppelte Anführungszeichen referenziert werden.
-
Sofern kein Leerzeichen, ein vorangestellter Unterstrich ("_") oder eine vorangestellte numerische Ziffer ("0" bis "9") im Spaltennamen enthalten ist, wird die ursprüngliche Groß-/Kleinschreibung des Spaltennamens beibehalten und muss immer mit doppelten Anführungszeichen und unter Verwendung der ursprünglichen Groß-/Kleinschreibung (obere, untere oder gemischte Groß-/Kleinschreibung) des Avro-, ORC- oder Parquet-Spaltennamens referenziert werden.
-
Nachdem Sie
DBMS_CLOUD.CREATE_EXTERNAL_TABLEzum Erstellen einer externen Tabelle mit dem Formatavro,orcoderparquetverwendet haben, zeigen Sie die Spaltennamen der Tabelle mit dem BefehlDESCRIBEin SQL*Plus an. -
Wenn reservierte Oracle SQL-Wörter in Avro-, ORC- oder Parquet-Spaltennamen 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 Oracle Database 26ai SQL Language Reference oder in der Oracle Database 26ai SQL Language Reference.