Questions marquées «cte»

Acronyme de Common Table Expression. Sous-requête temporaire et réutilisable qui peut être récursive.

174
Quelle est la différence entre un CTE et une table temporaire?

Quelle est la différence entre une expression de table commune (CTE) et une table temporaire? Et quand devrais-je utiliser l'un sur l'autre? CTE WITH cte (Column1, Column2, Column3) AS ( SELECT Column1, Column2, Column3 FROM SomeTable ) SELECT * FROM cte Table temporaire SELECT Column1, Column2,...

21
Avantages de Common Table Expression (CTE)?

Cette question a été migrée à partir de Stack Overflow car il est possible d'y répondre sur Database Administrators Stack Exchange. Migré il y a 7 ans . De msdn : Contrairement à une table dérivée, un CTE peut être auto-référencé et peut être référencé plusieurs fois dans la même requête....

19
Comment fonctionne la récursivité SQL?

Venant à SQL à partir d'autres langages de programmation, la structure d'une requête récursive semble plutôt étrange. Parcourez-le étape par étape, et il semble s'effondrer. Prenons l'exemple simple suivant: CREATE TABLE #NUMS (N BIGINT); INSERT INTO #NUMS VALUES (3), (5), (7); WITH R AS ( SELECT N...

16
Opérations multiples avec WITH

Existe-t-il un moyen d'exécuter plusieurs opérations à l'aide de l' WITHinstruction? Quelque chose comme WITH T AS ( SELECT * FROM Tbl ) BEGIN OPEN P_OUTCURSOR FOR SELECT * FROM T; SELECT COUNT(*) INTO P_OUTCOUNT FROM T; END; Je veux sélectionner des données et leur nombre

15
Optimiser une hiérarchie CTE

Mettre à jour ci-dessous J'ai un tableau de comptes avec une architecture de compte acct / parent typique pour représenter une hiérarchie de comptes (SQL Server 2012). J'ai créé une VUE en utilisant un CTE pour hacher la hiérarchie, et dans l'ensemble cela fonctionne à merveille et comme prévu. Je...

15
Profondeur récursive descendante de PostgreSQL

J'ai besoin de calculer la profondeur d'un descendant de son ancêtre. Lorsqu'un enregistrement a object_id = parent_id = ancestor_id, il est considéré comme un nœud racine (l'ancêtre). J'ai essayé de lancer une WITH RECURSIVErequête avec PostgreSQL 9.4 . Je ne contrôle pas les données ou les...

9
Différence entre la vue en ligne et la clause WITH?

Les vues en ligne vous permettent de sélectionner dans une sous-requête comme s'il s'agissait d'une table différente: SELECT * FROM /* Selecting from a query instead of table */ ( SELECT c1 FROM t1 WHERE c1 > 0 ) a WHERE a.c1 < 50; J'ai vu que cela faisait référence à l'utilisation de...