Salut,
J'aimerai savoir si c'est possible de rendre le nom d'une table temporaire global que je créais unique?
Cordialement,
Salut,
J'aimerai savoir si c'est possible de rendre le nom d'une table temporaire global que je créais unique?
Cordialement,
Bonjour,
Les tables temporaires globales sont effectivement uniques par leur nom.
Pour vous en convaincre, créez une table temporaire globale dans une session de Management Studio, et essayez de créer la même dans une nouvelle session de Management Studio :
@++Msg*2714, Niveau*16, État*6, Ligne*1
Il existe déjà un objet nommé '##A' dans la base de données.![]()
En fait j'ai une procédure stockée qui creait une table temporaire globale: ##TableTemp.
Puis dans une requête j'appelle la procédure stockée et j'utilise la table temporaire.
Mais si j'exécute cette requête deux fois, je vais avoir un problème puisque la première fois j'ai déjà créer la table temporaire.
Et c'est pour ça qu'avant d'exécuter la requête je test si la table temporaire existe avec un IF EXIST.
Donc j'aimerai savoir si c'est possible de donner un nom unique à une table temporaire même si on exécute 2 fois le code qui l'a crée.
Je sais pas si j'ai été bien clair.
Bonjour,
Vous pouvez générer une chaîne unique en transtypant en une chaîne le résultat de :
En revanche je ne sais pas comment vous pouvez le récupérer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT NEWID()
Vous pouvez éventuellement le passer en paramètre à une procédure stockée, puis dans cette procédure stockée écrire du code SQL dynamique.
Mais question performances, c'est pas terrible, comme le fait d'ailleurs d'utiliser des tables temporaires.
Vous pouvez nous donner votre code et ce que vous souhaitez faire, nous pourrons probablement vous solutionner sans table temporaire
@++![]()
Ok merci pour votre réponse.
Je me suis contenté de tester si la table temporaire existe:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if object_id('tempdb..##Liste') is not null delete from ##Liste else create table ##Liste (l_date datetime)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager