Heim >Datenbank >MySQL-Tutorial >Wie unterscheidet sich „SELECT INTO' von Oracle von anderen SQL-Dialekten und wie kann ich „ORA-00905' vermeiden?

Wie unterscheidet sich „SELECT INTO' von Oracle von anderen SQL-Dialekten und wie kann ich „ORA-00905' vermeiden?

Barbara Streisand
Barbara StreisandOriginal
2025-01-04 08:12:33639Durchsuche

How Does Oracle's `SELECT INTO` Differ from Other SQL Dialects, and How Can I Avoid

Oracles einzigartige Interpretation von SELECT INTO

In Oracle unterscheidet sich die typische Funktionsweise der SELECT INTO-Anweisung von anderen SQL-Dialekten. Während SELECT INTO den Datenabruf normalerweise mit der Erstellung einer neuen Tabelle verknüpft, implementiert Oracle dies eindeutig.

Um den Fehler „ORA-00905: fehlendes Schlüsselwort“ zu beheben, ist es wichtig, die Implementierung von Oracle zu verstehen. Die korrekte Syntax zum Erstellen einer neuen Tabelle mit Daten aus einer vorhandenen Tabelle lautet wie folgt:

Erstellen einer neuen Tabelle:

Wenn die Zieltabelle NEW_TABLE bereits vorhanden ist :

insert into new_table
select * from old_table;

Um NEW_TABLE basierend auf den Daten in zu erstellen OLD_TABLE:

create table new_table as
select * from old_table;

Erstellen einer leeren Tabellenstruktur:

Wenn der Zweck darin besteht, eine leere Tabelle mit derselben Struktur wie OLD_TABLE zu erstellen, verwenden Sie eine WHERE-Klausel mit eine unmögliche Bedingung:

create table new_table as
select * from old_table
where 1 = 2;

Beachten Sie, dass Oracle beim Erstellen einer Tabelle mit SELECT INTO nur die Tabellen repliziert Schema, mit Ausnahme aller in der Originaltabelle vorhandenen Einschränkungen, Trigger oder Indizes. Diese müssen bei Bedarf manuell hinzugefügt werden.

Das obige ist der detaillierte Inhalt vonWie unterscheidet sich „SELECT INTO' von Oracle von anderen SQL-Dialekten und wie kann ich „ORA-00905' vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn