J'ai deux SP dans SQL Server. SP1 appelle SP2 répétitivement dans une boucle avec différents paramètres et continue de stocker la sortie de SP2 dans une table temporaire. SP2 qui est appelé de façon répétitive par SP1 a certaines tables temporaires avec des clés primaires "non nommées".L'appel répétitif de SP dans un autre SP provoque des problèmes de nom PK en double dans la table temporaire dans le SP appelé lorsqu'il est utilisé dans SSRS
Je sais que les clés primaires nommées sur les tables temporaires provoquent des problèmes car elles ne sont parfois pas supprimées même si la table temporaire est supprimée.
Dans SP2, au tout début, je vérifie et supprime toutes les tables temporaires dans SP2 si elles existent.
Cela semble fonctionner parfaitement dans SSMS, mais lorsque j'utilise SP1 dans SSRS, plusieurs fois il renvoie une erreur dans SP2 pour violation de nom PK.
Impossible d'insérer une clé dupliquée dans l'objet #tempTable.
Existe-t-il une solution de contournement pour ce problème? Ne pas définir une clé primaire sur votre table temporaire.
Si vous souhaitez insérer des valeurs en double dans la table temporaire, pourquoi définissez-vous cette colonne comme PK? Il semble que la réponse ici est d'éviter cette désignation lorsque la table temporaire est créée, mais il serait utile de donner un exemple de la structure de la table temporaire et du code de bouclage. –