Ich habe Leute gehört, die sich auf diese Tabelle bezogen, und war mir nicht sicher, worum es ging.
oracle
dual-table
Brian G.
quelle
quelle
Antworten:
Es handelt sich um eine Art Dummy-Tabelle mit einem einzelnen Datensatz, der zur Auswahl verwendet wird, wenn Sie nicht wirklich an den Daten interessiert sind, sondern die Ergebnisse einer Systemfunktion in einer select-Anweisung anzeigen möchten:
z.B
select sysdate from dual;
Siehe http://www.adp-gmbh.ch/ora/misc/dual.html
quelle
Es ist eine Dummy-Tabelle mit einem Element. Dies ist nützlich, da Oracle keine Anweisungen wie zulässt
Sie können diese Einschränkung umgehen, indem Sie schreiben
stattdessen.
quelle
Aus Wikipedia
Geschichte
Die DUAL-Tabelle wurde von Chuck Weiss von der Oracle Corporation erstellt, um eine Tabelle zum Verknüpfen interner Ansichten bereitzustellen:
Aus dem Obigen ist dies möglicherweise nicht ersichtlich, aber die ursprüngliche DUAL-Tabelle enthielt zwei Zeilen (daher der Name). Heutzutage hat es nur eine Reihe.
Optimierung
DUAL war ursprünglich eine Tabelle, und das Datenbankmodul führte bei der Auswahl von DUAL Festplatten-E / A für die Tabelle aus. Diese Festplatten-E / A war normalerweise eine logische E / A (ohne physischen Festplattenzugriff), da die Festplattenblöcke normalerweise bereits im Speicher zwischengespeichert waren. Dies führte zu einer großen Menge logischer E / A für die DUAL-Tabelle.
Spätere Versionen der Oracle-Datenbank wurden optimiert und die Datenbank führt keine physischen oder logischen E / A mehr für die DUAL-Tabelle aus, obwohl die DUAL-Tabelle tatsächlich noch vorhanden ist.
quelle
Ich denke, dieser Wikipedia-Artikel kann helfen, dies zu klären.
http://en.wikipedia.org/wiki/DUAL_table
quelle
Es ist die spezielle Tabelle in Oracle. Ich benutze es oft für Berechnungen oder zur Überprüfung von Systemvariablen. Beispielsweise:
Select 2*4 from dual
druckt das Ergebnis der Berechnung ausSelect sysdate from dual
druckt das aktuelle Datum des Servers.quelle
Eine Art Pseudotabelle, für die Sie Befehle ausführen und Ergebnisse wie sysdate zurückerhalten können. Hilft Ihnen auch zu überprüfen, ob Oracle aktiv ist, und die SQL-Syntax usw. zu überprüfen.
quelle
Eine Utility-Tabelle in Oracle mit nur 1 Zeile und 1 Spalte. Es wird verwendet, um eine Reihe von arithmetischen Operationen auszuführen, und kann allgemein verwendet werden, wenn eine bekannte Ausgabe erzeugt werden muss.
SELECT * FROM dual;
gibt eine einzelne Zeile mit einer einzelnen Spalte mit dem Namen "DUMMY" und dem Wert "X" an, wie hier gezeigt:
quelle
Weitere Fakten zum DUAL ....
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1562813956388
Hier werden spannende Experimente und spannendere Erklärungen von Tom durchgeführt
quelle
Die DUAL-Tabelle ist eine spezielle einzeilige Tabelle, die standardmäßig in allen Oracle-Datenbankinstallationen vorhanden ist. Es eignet sich zur Auswahl einer Pseudospalte wie SYSDATE oder USER
Die Tabelle enthält eine einzelne VARCHAR2 (1) -Spalte namens DUMMY mit dem Wert "X".
Sie können alles darüber unter http://en.wikipedia.org/wiki/DUAL_table lesen
quelle
DUAL ist in der PL / SQL-Entwicklung erforderlich, um Funktionen zu verwenden, die nur in SQL verfügbar sind
z.B
quelle
Es ist ein Objekt, das von dieser Rückgabe 1 leere Zeile eingefügt werden soll. Zum Beispiel: Wählen Sie 1 aus Dual; gibt 1 zurück
Wählen Sie 21 + 44 aus Dual. gibt 65 zurück
Wählen Sie [Sequenz] .nextval aus dual; Gibt den nächsten Wert aus der Sequenz zurück.
quelle
DUAL haben wir hauptsächlich verwendet, um die nächste Nummer aus den Sequenzen zu erhalten.
Syntax: SELECT 'sequence_name'.NEXTVAL FROM DUAL
Dies gibt den Wert für eine Zeile und eine Spalte zurück (NEXTVAL-Spaltenname).
quelle
Eine andere Situation, die dies erfordert,
select ... from dual
ist, wenn wir den Code (Datendefinition) für verschiedene Datenbankobjekte (wie TABELLE, FUNKTION, TRIGGER, PAKET) mit der integriertenDBMS_METADATA.GET_DDL
Funktion abrufen möchten :In der Tat bieten die IDEs heutzutage die Möglichkeit, die DDL einer Tabelle anzuzeigen, aber in einfacheren Umgebungen wie SQL Plus kann dies sehr praktisch sein.
BEARBEITEN
Eine allgemeinere Situation: Grundsätzlich, wenn wir eine PL / SQL-Prozedur in einer Standard-SQL-Anweisung verwenden müssen oder wenn wir eine Prozedur über die Befehlszeile aufrufen möchten:
Beide Rezepte stammen aus dem Buch 'Oracle PL / SQL Recipes' von Josh Juneau und Matt Arena
quelle
Das DUAL ist eine spezielle Tabelle mit einer Zeile und einer Spalte, die standardmäßig in allen Oracle-Datenbanken vorhanden ist. Der Eigentümer von DUAL ist SYS.
DUAL ist eine Tabelle, die von Oracle Database zusammen mit den Datenfunktionen automatisch erstellt wird. Es wird immer verwendet, um die Funktionen des Betriebssystems abzurufen (wie Datum, Uhrzeit, arithmetischer Ausdruck usw.).
quelle