Les fonctions et les variables peuvent être déclarées selon le type table. Les variables de type table peuvent être utilisées dans des fonctions, des procédures stockées et des lots d'instructions.
Utilisez autant que possible des variables table au lieu de tables temporaires. Les variables table présentent les avantages suivants :
Une variable de type table se comporte comme une variable locale. Elle possède une portée bien définie, qui représente la fonction, la procédure stockée ou le lot d'instructions dans lequel elle est déclarée.
Dans les limites de sa portée, une variable de type table peut être utilisée comme une table normale. Elle peut s'appliquer partout où une table, ou expression de table, est utilisée dans les instructions SELECT, INSERT, UPDATE et DELETE. Cependant, une variable table ne peut pas être utilisée dans les instructions suivantes :
Instructions INSERT INTO table_variable EXEC stored_procedure
SELECT select_list INTO table_variable.
Les variables table sont automatiquement nettoyées à la fin de la fonction, de la procédure stockée ou du lot dans lequel elles sont définies.
Les variables table utilisées dans des procédures stockées aboutissent à moins de recompilations de ces dernières que les tables temporaires.
La durée de vie d'une transaction impliquant une variable table est simplement égale à celle d'une mise à jour effectuée sur la variable. De ce fait, les variables table requièrent moins de ressources de verrouillage et de consignation.
Partager