Qual è la differenza tra una Common Table Expression (CTE) e una tabella temporanea? E quando dovrei usarne uno sopra l'altro? CTE WITH cte (Column1, Column2, Column3) AS ( SELECT Column1, Column2, Column3 FROM SomeTable ) SELECT * FROM cte Tabella temporanea SELECT Column1, Column2, Column3 INTO #tmpTable FROM SomeTable …
Questa domanda è stata migrata dallo Stack Overflow perché è possibile rispondere allo scambio dello stack degli amministratori di database. Migrato 7 anni fa . Da msdn : A differenza di una tabella derivata, un CTE può essere autoreferenziale e può essere referenziato più volte nella stessa query. Sto usando …
Venendo a SQL da altri linguaggi di programmazione, la struttura di una query ricorsiva sembra piuttosto strana. Attraversalo passo dopo passo, e sembra cadere a pezzi. Considera il seguente semplice esempio: CREATE TABLE #NUMS (N BIGINT); INSERT INTO #NUMS VALUES (3), (5), (7); WITH R AS ( SELECT N FROM …
Normalmente creo guide di piano costruendo prima una query che utilizza il piano corretto e copiandola nella query simile che non lo fa. Tuttavia, a volte è complicato, soprattutto se la query non è esattamente la stessa. Qual è il modo giusto di creare guide di piano da zero? SQLKiwi …
Ecco un albero di assemblaggio che voglio cercare usando una T-SQLquery ricorsiva (presumibilmente CTE) con i risultati previsti di seguito. Voglio sapere l'importo totale per assemblaggio dato qualsiasi parte. Significa che se cerco 'Rivetto', voglio conoscere il conteggio totale ad ogni livello all'interno dell'assemblea, non solo il conteggio diretto dei …
C'è un modo per eseguire più operazioni usando l' WITHistruzione? Qualcosa di simile a WITH T AS ( SELECT * FROM Tbl ) BEGIN OPEN P_OUTCURSOR FOR SELECT * FROM T; SELECT COUNT(*) INTO P_OUTCOUNT FROM T; END; Voglio selezionare alcuni dati e il loro conteggio ...
Devo calcolare la profondità di un discendente dal suo antenato. Quando un record ha object_id = parent_id = ancestor_id, è considerato un nodo radice (l'antenato). Ho cercato di far funzionare una WITH RECURSIVEquery con PostgreSQL 9.4 . Non controllo i dati o le colonne. Lo schema di dati e tabelle …
Aggiorna di seguito Ho una tabella di account con una tipica architettura di account acct / parent per rappresentare una gerarchia di account (SQL Server 2012). Ho creato una VISTA utilizzando un CTE per eseguire l'hashing della gerarchia e, nel complesso, funziona magnificamente e come previsto. Posso interrogare la gerarchia …
Spero solo di confermare la mia osservazione e ottenere una spiegazione sul perché questo sta accadendo. Ho una funzione definita come: CREATE OR REPLACE FUNCTION "public"."__post_users_id_coin" ("coins" integer, "userid" integer) RETURNS TABLE (id integer) AS ' UPDATE users SET coin = coin + coins WHERE userid = users.id RETURNING users.id' …
Stavo solo guardando un post su StackOverflow in cui Aaron Bertrand propone di utilizzare un CTE invece di una tabella numerica, che è un modo elegante di eseguire l'attività a portata di mano. La mia domanda è: perché la prima riga del CTE inizia con un punto e virgola? ;WITH …
Abbiamo un database SQL Server che ha una specifica di controllo del database che controlla tutte le azioni eseguite sul database. CREATE DATABASE AUDIT SPECIFICATION [dbAudit] FOR SERVER AUDIT [servAudit] ADD (EXECUTE ON DATABASE::[DatabaseName] BY [public]) Abbiamo scoperto che alcune query scriveranno nel registro di controllo l'uso di una funzione …
Supponiamo che tu abbia una nodestabella come questa: CREATE TABLE nodes ( node serial PRIMARY KEY, parent integer NULL REFERENCES nodes(node), ts timestamp NOT NULL DEFAULT now() ); Rappresenta una struttura ad albero standard simile a un nodo con nodi radice nella parte superiore e diversi nodi figlio che pendono …
In PostgreSQL 9.5, data una semplice tabella creata con: create table tbl ( id serial primary key, val integer ); Corro SQL per INSERIRE un valore, quindi AGGIORNA nella stessa istruzione: WITH newval AS ( INSERT INTO tbl(val) VALUES (1) RETURNING id ) UPDATE tbl SET val=2 FROM newval WHERE …
Durante la discussione di una soluzione CTE ricorsiva per questa domanda: Ottieni gli ultimi 5 valori distinti per ciascun ID @ypercube si è imbattuto in un'eccezione sorprendente, che ci ha portato a studiare la gestione dei modificatori di tipo. Abbiamo trovato un comportamento sorprendente. 1. Type cast mantiene il modificatore …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.