sql server 2000- récupération d'un comptage

Le
Blodine
Voilà, je souhaite récupérer un comptage pour le stocker dans un rapport de
chargement.

La requête que j'utilise est paramétrée avec le nom de la table et donc
lancée par un exec.
Mon problème c'est la récupération de ce comptage en dehors du exec ,
impossible de le récupérer ni dans une variable, ni dans une table
temporaire(#). Actuellement je passe par une table mais cela risque de me
poser problème si il y a plusieurs traitements lancés en même temps
utilisant cette procédure.


l
set @sql = 'SELECT count(*) FROM ' + @Nom_utilisateur + '.'+
@Nom_Table_ori
exec (@sql)
--> récupération du comptage ???


Merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
OokieDookie
Le #11857351
Rebonjour,

Qu'entendez-vous par [impossible de le récupérer ni dans une variable, ni
dans une table > temporaire(#).] ?
Essayez cette syntaxe (non testée + j'ai supposé que la table ne
contiendrait que deux champs) :

set @sql = 'INSERT INTO #RTAT(NOMTAB, NBLIG) SELECT ''' + @Nom_utilisateur +
'.' + @Nom_Table_ori +
''', count(*) FROM ' + @Nom_utilisateur + '.'+ @Nom_Table_ori

HTH,

Bonne journée


"Blodine" a écrit :

Voilà, je souhaite récupérer un comptage pour le stocker dans un rapport de
chargement.

La requête que j'utilise est paramétrée avec le nom de la table et donc
lancée par un exec.
Mon problème c'est la récupération de ce comptage en dehors du exec ,
impossible de le récupérer ni dans une variable, ni dans une table
temporaire(#). Actuellement je passe par une table mais cela risque de me
poser problème si il y a plusieurs traitements lancés en même temps
utilisant cette procédure.


l
set @sql = 'SELECT count(*) FROM ' + @Nom_utilisateur + '.'+
@Nom_Table_ori
exec (@sql)
--> récupération du comptage ???


Merci





Philippe TROTIN [MS]
Le #11857251
Bonjour,

Et comme cela ?

DECLARE @SqlString nvarchar(4000)
DECLARE @FULL_TBL_NAME nvarchar(1000)
DECLARE @result int

SET @SqlString = 'SELECT @res = COUNT(*) '
SET @SqlString = @SqlString + 'FROM ' + @FULL_TBL_NAME

EXEC sp_executesql @SqlString, N'@res int OUTPUT', @result OUTPUT

PRINT CONVERT(nvarchar, @result)


Cordialement
_______________________________

Philippe TROTIN
Microsoft Services France
_______________________________
"OokieDookie" news:
Rebonjour,

Qu'entendez-vous par [impossible de le récupérer ni dans une variable, ni
dans une table > temporaire(#).] ?
Essayez cette syntaxe (non testée + j'ai supposé que la table ne
contiendrait que deux champs) :

set @sql = 'INSERT INTO #RTAT(NOMTAB, NBLIG) SELECT ''' + @Nom_utilisateur
+
'.' + @Nom_Table_ori +
''', count(*) FROM ' + @Nom_utilisateur + '.'+ @Nom_Table_ori

HTH,

Bonne journée


"Blodine" a écrit :

Voilà, je souhaite récupérer un comptage pour le stocker dans un rapport
de
chargement.

La requête que j'utilise est paramétrée avec le nom de la table et donc
lancée par un exec.
Mon problème c'est la récupération de ce comptage en dehors du exec ,
impossible de le récupérer ni dans une variable, ni dans une table
temporaire(#). Actuellement je passe par une table mais cela risque de me
poser problème si il y a plusieurs traitements lancés en même temps
utilisant cette procédure.


l
set @sql = 'SELECT count(*) FROM ' + @Nom_utilisateur + '.'+
@Nom_Table_ori
exec (@sql)
--> récupération du comptage ???


Merci







Publicité
Poster une réponse
Anonyme