Bonjour
J'ai une de mes storeds procedure qui doit créer des tables de différents nom, dépendant du user qui appelle la store procedure (à partir de mon code VB). Pour ce faire, je dois donc créer les tables ainsi :
Juste que là, ça fonctionne nickel.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 CREATE PROCEDURE blah @usager as varchar(30) declare @requete as varchar(1500) declare @nomtable1 as varchar(30) set @nomtable1 = 'pcprix1' + @usager select @requete = 'CREATE TABLE [' + @nomtable1 + '] ( [ListePrix] [char] (2) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [CodeItem] [char] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [Prix] [money] NOT NULL , [Devise] [char] (3) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [DateDebut] [char] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [DateFin] [char] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [Methode] [char] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [code_marque] [char] (5) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [code_format] [char] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [code_groupe] [char] (5) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ) ON [PRIMARY]' exec (@requete)
Je voudrais cependant utiliser les tables temporaires #... J'ai donc changé mon assignation de nom de table pour ceci :
Lorsque j'exécute le code, ça ne me renvoit pas d'erreur mais la table #pcPrix1 n'est pas créée.... pourquoi ? Je ne comprend pas pourquoi je ne peux pas créer de table temporaire dynamiquement comme je le faisais pour des tables permanentes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part set @nomtable1 = '#pcprix1' + @usager
Merci de me donner votre avis
Partager