Bonjour à tous,
est il possible d'exécuter une sp à l'intérieur d'une CTE comme dans l'exemple qui suit ?
Par avance merci.Code:
1
2
3
4 with tmp (champs1, champs2) as (exec schema.MaProc @param) select * from toto
Version imprimable
Bonjour à tous,
est il possible d'exécuter une sp à l'intérieur d'une CTE comme dans l'exemple qui suit ?
Par avance merci.Code:
1
2
3
4 with tmp (champs1, champs2) as (exec schema.MaProc @param) select * from toto
Bonjour,
Cela n'est pas possible parce qu'une expression de table commune retourne un ensemble de données, et ne peut donc pas faire appel à une procédure stockée (mais peut faire appel à une fonction ;))
Vous devrez donc soit passer par une boucle WHILE, soit si vous êtes sous SQL Server 2008 par une procédure stockée acceptant un paramètre de type TABLE ;)
@++ ;)
Une requête est par nature ensembliste. Une procédure est par nature itérative... Vous pouvez incorporer des requêtes (donc ensembliste) dans du code itératif, mais pas l'inverse !
Or une CTE est une requête...
A +
Merci pour vos réponses.
je vais aller regarder du coté des fonctions tables.