Oracle Dual Table

Oracle Dual Table

Questo tutorial mira a presentarti alle basi del database Oracle conoscendo la doppia tabella.

Qual è il doppio tavolo in Oracle

Se hai appena iniziato a lavorare con Oracle Database, potresti aver incontrato una query come mostrato di seguito:

Seleziona lunghezza ('Hello World') da Dual;

Dato che non hai creato una tabella chiamata Dual, potresti chiederti cosa sia questa tabella e dove ha origine.

La doppia tabella in Oracle è un particolare tipo di tabella creata automaticamente dal motore Oracle Database per la valutazione delle espressioni o delle chiamate di funzione. Il motore del database inizializza anche il dizionario dati per la doppia tabella.

Sebbene gli utenti SYS possiedano la doppia tabella, è accessibile a tutti gli utenti del server semplicemente per nome riferimento.

Pertanto, chiamare l'istruzione Select da Dual non comporterà un errore anche se non si è creata manualmente la doppia tabella.

Qual è la descrizione della doppia tabella?

Usando il comando Descrive, possiamo ottenere la definizione della tabella e vedere tutte le colonne e altri oggetti associati alla tabella.

Descrivere il doppio;

Produzione:

Nome null? Tipo
----- ----- -----------
Dummy Varchar2 (1)

La tabella doppia comprende una colonna con il nome fittizio definito come tipo Varchar2.

Seleziona * da Dual;

Produzione:

MANICHINO
-----------
X

La colonna ha una riga con il valore di x. Quindi, qualsiasi espressione costante da un'istruzione selezionata viene restituita una sola volta. È possibile assegnare più righe alla tabella per produrre una determinata espressione o valore più di una volta.

Per quanto riguarda il tipo di dati, è del tutto irrilevante ai fini della doppia tabella. Ancora una volta, l'obiettivo è avere una riga universale da dove è possibile selezionare un valore.

Nota: la doppia tabella fa parte del dizionario dei dati. Pertanto, evitare di apportare modifiche alla tabella usando i comandi PL/SQL. Ciò può portare a errori o corruzione del dizionario dei dati, che può interrompere l'istanza.

Qual è lo scopo della doppia funzione

Come accennato, la doppia tabella viene utilizzata per calcolare espressioni o funzioni costanti in una determinata istruzione selezionata.

Di seguito sono riportati esempi di utilizzo della tabella a doppia tabella:

Seleziona inferiore ("Hello World") da Dual;

Risultato:

Inferiore ("elhoworld")
-----------------------------------
Ciao mondo

Usando la doppia tabella con un'espressione costante

Seleziona 100/10 da Dual;

Risultato:

100/10
-----------
10

Conclusione

In questo articolo, abbiamo spiegato alcune domande di base che potresti avere riguardo alla doppia tabella nei database Oracle.

Non è necessario utilizzare la doppia tabella per espressioni costanti o chiamate di funzione. Invece, puoi usare tutto ciò che ritieni necessario. Tuttavia, Oracle Optimizer è a conoscenza della doppia tabella e del suo scopo: contiene una colonna e una riga.