Vous avez une requête SELECT complexe, à partir de laquelle j'aimerais insérer toutes les lignes dans une variable de table, mais T-SQL ne le permet pas.
Dans le même sens, vous ne pouvez pas utiliser une variable de table avec des requêtes SELECT INTO ou INSERT EXEC. http://odetocode.com/Articles/365.aspx
Petit exemple:
declare @userData TABLE(
name varchar(30) NOT NULL,
oldlocation varchar(30) NOT NULL
)
SELECT name, location
INTO @userData
FROM myTable
INNER JOIN otherTable ON ...
WHERE age > 30
Les données de la variable de table seront ensuite utilisées pour l'insérer / la mettre à jour dans différentes tables (principalement une copie des mêmes données avec des mises à jour mineures). Le but serait de simplement rendre le script un peu plus lisible et plus facilement personnalisable que de le faire SELECT INTO
directement dans les bonnes tables. Les performances ne sont pas un problème, car elles rowcount
sont assez petites et ne sont exécutées manuellement qu'en cas de besoin.
... ou dites-moi simplement si je fais tout mal.