Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

2 réponses
Avatar
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

2 réponses

Avatar
OokieDookie
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





Avatar
Philippe TROTIN [MS]
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" a écrit dans le message de
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