Un'istruzione WITH è composta da una o più espressioni di tabella comune e da un'istruzione SELECT. Un'espressione di tabella comune definisce una tabella dei risultati denominata che può essere specificata come una tabella nella proposizione FROM di un'istruzione SELECT successiva.
Questa opzione è disponibile solo se si utilizza IBM DB2
Universal Database.
È possibile creare un'istruzione WITH mediante il generatore SQL, non è possibile creare l'istruzione mediante la procedura guidata Creazione di una nuova istruzione SQL.
Espressioni di tabella comune
Un'espressione di tabella comune può essere utilizzata nei seguenti modi:
- Al posto di una vista, per evitare la creazione della vista (quando l'utilizzo generale della vista non è necessario e non vengono utilizzati aggiornamenti o eliminazioni posizionate)
- Per consentire il raggruppamento mediante una colonna derivata da una sottoselezione o funzione scalare, non deterministica o con azioni esterne
- Quando la tabella dei risultati è basata su variabili host
- Quando la stessa tabella dei risultati deve essere condivisa in un FULLSELECT
- Quando i risultati devono essere ricavati mediante ricorsione
Per creare un'istruzione WITH:
- Passare alla vista Definizione dati nella prospettiva Dati.
- Espandere il progetto o la cartella contenente il database, quindi espandere i nodi del database fino a visualizzare la cartella Istruzioni.
- Fare clic con il pulsante destro del mouse sulla cartella Istruzioni, quindi fare clic su nel menu a comparsa.
- Digitare un nome per l'istruzione, quindi fare clic su OK. Si apre il generatore SQL.
- Rivedere la struttura dell'istruzione WITH nella vista Struttura. Un'istruzione SELECT viene aggiunta automaticamente all'istruzione WITH. Ciò viene definito SELECT dell'istruzione WITH. È necessario prima definire le espressioni di tabella comune, quindi completare SELECT dell'istruzione WITH utilizzando le tabelle definite nelle espressioni di tabella comune.
- Per aggiungere un'espressione di tabella comune, fare clic con il pulsante destro del mouse sull'istruzione WITH nella vista Struttura, quindi fare clic su Aggiungi espressione tabella comune nel menu a comparsa. Per completare l'espressione di tabella comune, definire una tabella temporanea e le relative colonne, basate sull'insieme di risultati di un'istruzione SELECT.
Poiché la tabella definita è solo temporanea, non viene visualizzata nella cartella Tabelle della vista Definizione dati. Una volta definita la tabella temporanea nell'espressione di tabella comune, è possibile aggiungerla all'istruzione SELECT.
- Nella vista Struttura, fare clic sul nodo dell'espressione di tabella comune nell'istruzione WITH.
- Espandere il nodo dell'espressione di tabella comune, quindi fare clic sull'istruzione SELECT
in esso contenuta.
- Completare l'istruzione SELECT per l'espressione di tabella comune.
- Nella vista Struttura, fare clic sull'espressione di tabella comune e aggiungere nuove colonne assegnando nomi di colonne e facendo clic su Aggiungi>> per completare l'elenco. Le colonne denominate devono corrispondere alle colonne definite nella proposizione SELECT dell'istruzione SELECT dell'espressione di tabella comune.
- Aggiungere più espressioni di tabelle comuni nello stesso modo, se necessario.
- Selezionare SELECT dell'istruzione WITH nella vista Struttura. Il valore selezionato è denominato nomeistruzione SELECT, dove nomeistruzione è il nome dell'istruzione WITH. Questo valore rappresenta l'istruzione SELECT che viene applicata all'istruzione WITH come un intero e utilizza le espressioni di tabelle comuni definite nell'istruzione WITH.
- Completare SELECT dell'istruzione WITH.
- Una volta completata l'operazione, selezionare per eseguire l'istruzione SQL.
L'output viene visualizzato nella vista Output DB.