GeeksforGeeks (Italiano)

Le Common Table Expressions (CTE) sono state introdotte in SQL standard per semplificare varie classi di query SQL per le quali una tabella derivata era semplicemente inadatta. CTE è stato introdotto in SQL Server 2005, la Common Table Expression (CTE) è un set di risultati con nome temporaneo a cui è possibile fare riferimento all’interno di un’istruzione SELECT, INSERT, UPDATE o DELETE. È inoltre possibile utilizzare un CTE in un CREARE una vista, come parte della query SELECT della vista. Inoltre, a partire da SQL Server 2008, è possibile aggiungere un CTE alla nuova istruzione MERGE.,

Usando il CTE-
Possiamo definire CTE aggiungendo una clausola WITH direttamente prima dell’istruzione SELECT, INSERT, UPDATE, DELETE o MERGE. La clausola WITH può includere uno o più CTES separati da virgole. È possibile seguire la seguente sintassi:

] ::=cte_name )]AS (cte_query) 

Dopo aver definito la clausola WITH con il CTEs, è possibile fare riferimento al CTEs come si farebbe riferimento a qualsiasi altra tabella. Tuttavia, è possibile fare riferimento a un CTE solo nell’ambito di esecuzione dell’istruzione che segue immediatamente la clausola WITH., Dopo aver eseguito l’istruzione, il set di risultati CTE non è disponibile per altre istruzioni.

Creazione di un’espressione di tabella comune ricorsiva –
Un CTE ricorsivo è uno che fa riferimento a se stesso all’interno di quel CTE. Il CTE ricorsivo è utile quando si lavora con dati gerarchici poiché il CTE continua a essere eseguito fino a quando la query non restituisce l’intera gerarchia.

Un tipico esempio di dati gerarchici è una tabella che include un elenco di dipendenti. Per ogni dipendente, la tabella fornisce un riferimento al manager di quella persona. Tale riferimento è di per sé un ID dipendente all’interno della stessa tabella., È possibile utilizzare un CTE ricorsivo per visualizzare la gerarchia dei dati dei dipendenti.

Se un CTE viene creato in modo errato può entrare in un ciclo infinito. Per evitare ciò, il suggerimento MAXRECURSION può essere aggiunto nella clausola OPTION dell’istruzione primaria SELECT, INSERT, UPDATE, DELETE o MERGE.,

Viene creata una tabella:

Dopo la creazione della tabella Employees, viene creata l’istruzione SELECT, preceduta da una clausola WITH che include un CTE denominato cteReports:

Quindi i CTES possono essere uno strumento utile quando è necessario generare set di risultati temporanei a cui è possibile accedere in un’istruzione SELECT, INSERT, UPDATE, DELETE o MERGE.

Lettore di attenzione! Non smettere di imparare ora. Entrare in possesso di tutti gli importanti concetti di Teoria CS per le interviste SDE con il corso di Teoria CS ad un prezzo studente-friendly e diventare industria pronta.,

Article Tags :

DBMS
SQL

Practice Tags :

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *