Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment créer des tables temporaires dans SQL Server via MS Access

Voici un extrait de code VBA que j'ai utilisé pour appeler une procédure stockée DB2. La même technique devrait fonctionner pour toute instruction DDL. Pour ce faire, créez une requête directe et mettez votre CREATE TABLE #tblname... instruction comme son texte SQL.

IMPORTANT :Ouvrez ensuite la feuille de propriétés de la requête et définissez la propriété "Retourne les enregistrements" sur "Non".

Dim qdf As QueryDef
Set qdf = CurrentDb.QueryDefs("qry_SP_CHANGE_COLUMN")
qdf.Connect = CurrentDb.TableDefs("SCHEMA_tblName").Connect
qdf.SQL = "call SCHEMA.SP_CHANGE_COLUMN(...)"
qdf.Execute dbFailOnError
qdf.Close
Set qdf = Nothing

Notez que vous n'aurez probablement pas à modifier votre texte SQL. Vous pouvez simplement laisser cela dans la définition de la requête si la structure de la table ne change jamais.

Le défi pour vous est que vous devez utiliser la même connexion pour toutes les opérations sur la table temporaire. Dès que la connexion est fermée, votre table temporaire disparaît car il s'agit d'une table temporaire locale, et elle n'est visible que pour cette connexion. Vous pouvez éviter cela en utilisant '##', des tables temporaires globales, si vous avez le droit de le faire.