OVH Cloud OVH Cloud

Question Exec

1 réponse
Avatar
jj
Bonjour à tous ,

Avec SQL Server 7 , je voudrais faire une procédure stockée qui renvoie le
nombre d'enregistrements trouvés
par une requete paramétrée :

/*******************************************************************/
Create procédure fGetNbRec @cle int,@TxtWhere nvarchar(100),@Resultat int
Output
AS

select @Resultat=col1 from exec('select count(*) as col1 from tbl1 where ' +
@TxtWhere) as QRY1

/*******************************************************************/


Mais celà ne fonctionne pas , existe-t-il une solution à mon problème ?

Merci d'avance

Jean-Yves

1 réponse

Avatar
Fred BROUARD
Le seul véritable moyen d'y parvenir est d'exécuter la requête et de
renvoyer le @@ROWCOUNT
(Renvoie le nombre de lignes affectées par la dernière instruction.)

Exemple :
CREATE SP_NUM_ROWS_FOR_SQL_ORDER @SQLTEXT VARCHAR(8000)

EXEC (@SQLTEXT)

SELECT @@ROWCOUNT

A +


--
Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************
jj a écrit:
Bonjour à tous ,

Avec SQL Server 7 , je voudrais faire une procédure stockée qui renvoie le
nombre d'enregistrements trouvés
par une requete paramétrée :

/*******************************************************************/
Create procédure fGetNbRec @cle int,@TxtWhere nvarchar(100),@Resultat int
Output
AS

select @Resultat=col1 from exec('select count(*) as col1 from tbl1 where ' +
@TxtWhere) as QRY1

/*******************************************************************/


Mais celà ne fonctionne pas , existe-t-il une solution à mon problème ?

Merci d'avance

Jean-Yves