begin process at 2012 05 27 02:37:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

SQL Server, MSDE, SQL Express

 > 

Procédures Stockées

 > 

Sql Serveur 2000 - Utilisateur de SELECT TOP avec un paramètre dans une procédure


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Sql Serveur 2000 - Utilisateur de SELECT TOP avec un paramètre dans une procédure

mardi 5 janvier 2010 à 13:01:03 | Sql Serveur 2000 - Utilisateur de SELECT TOP avec un paramètre dans une procédure

FPatrick

Bonjour,

Dans une procédure stockée, je souhaiterais mettre en paramètre le SELECT TOP pour ensuite faire un traitement derrière.

Exemple

CREATE PROCEDURE testTOP
@categorie integer
AS

SELECT TOP @categorie PERCENT dbo.toto.*
FROM dbo.toto
WHERE (id_toto > 0)
.....

Mais j'ai un message d'erreur à l'enregistrement de la procédure sur SELECT TOP @categorie

Je voudrais passer en paramètre de la procédure cet argument pour mes traitements derrière (ex :SELECT TOP 10 ou SELECT TOP 55)

J'espère que j'ai été assez clair dans mes explications.
En vous remerciant pour vos recherches, bonne journée.
mardi 5 janvier 2010 à 14:01:09 | Re : Sql Serveur 2000 - Utilisateur de SELECT TOP avec un paramètre dans une procédure

crn_c21

Réponse acceptée !
Declare @CmdSql varchar(100)

set @CmdSql='SELECT TOP ' + convert(varchar,@categorie)+' PERCENT dbo.toto.*
FROM dbo.toto
WHERE (id_toto > 0)'

exec (@cmdSql)

mercredi 6 janvier 2010 à 08:02:34 | Re : Sql Serveur 2000 - Utilisateur de SELECT TOP avec un paramètre dans une procédure

FPatrick

Bonjour,

Merci pour votre réponse rapide, je n'avais pas regardé entre temps (je cherchais).

Dommage de faire ce genre de manipulation pour y arriver, cela aurait été bien d'avoir accès en direct.

Bonne journée.
lundi 11 janvier 2010 à 13:53:43 | Re : Sql Serveur 2000 - Utilisateur de SELECT TOP avec un paramètre dans une procédure

skweeky

Membre Club Administrateur CodeS-SourceS

Bonjour

Avec SQL Server 2000, il y la possibilité d'utiliser SET ROWCOUNT :

DECLARE @var int
SET @var = 5

SET ROWCOUNT @var

SELECT * from MaTable

A partir de SQL Server 2005, le SET ROWCOUNT est indiqué comme étant supprimé dans une prochaine version et remplacé par une variante du TOP :

DECLARE @var int
SET @var = 5

SELECT TOP(@var) * from MaTable

Attention, les parenthèses deviennent obligatoire avec cette nouvelle syntaxe.

Cordialement
------------
Christian Robert
http://blogs.codes-sources.com/christian
MVP SQL Server


Cette discussion est classée dans : select, paramètre, top, procédure, categorie


Répondre à ce message

Sujets en rapport avec ce message

Like dans une procédure stockée [ par veronique1 ] Bonjour à tous,j'utilise une requête dans une procédure stockée avec un like , la valeur provient d'un paramètre , et ma rquête ne fonctionne pas si j Paramètre de procédure stockée null [ par Leggoff ] Bonjour à tous.Je souhaite passer en C# un paramètre null à une procédure stockée (Ma toute première procédure !).L'utilisation de null  ne fonctionne Problème pour passer un paramètre dans une requete [ par franckydeluka ] Bonjour à tous ,Voilà j'ai un petit souci SQL si quelqu'un a déjà rencontré le problèmeJe fais la requete suivante qui marche très bien (je récupère l Passer un paramètre au TOP dans une procedure stocké [ par gazza ] Pour ceux qui comme moi ou eu des problèmes avec le TOP @variable voici un peu d'aide --------------------------------------------------------------- Select paginé [ par thiosyiasar ] Bonjour a tous,Pour une page aspx, je voudrais faire un select paginé du genre : SELECT TOP (@nb_ligne) * FROM newsletter WHERE nlt_id in(  SELECT nlt cndition sur un paramètre de requête [ par SuperBouly ] bonjour, Je fais une requête simple sur une table et je veux exprimer une condition sur un paramètre :par exemple :IF (@NumEntreprise 0) (SELECT User HELP - récupérer un paramètre HTTP dans une procédure stockée [ par lesiwa81 ] Bonjour, je viens juste d'apprendre à utiliser les procédure stockées. Pour le moment, je réussi uniquement à stockéer des requêtes simples. Je bloq PROMPT dans une procédure stockée [ par tedparker ] Bonjour   Est-il possible de demander des paramètres par un PROMPT dans une procédure PL SQL ? J'en ai super besoin. Je crée ma procédure dans un pack pb SELECT avec LIKE [ par Stubbornman ] Salut à tous,quelqu'un peut-il m'expliquer pourquoi cette requête ne fonctionne pas:SELECT * FROM table WHERE colonne LIKE '[a-e]%' OR colonne LIKE '[ recup infos tables croisées [ par christobal ] Bonjour, j'ai les neuronnes qui fume, c'est ce qui arrive quand on reste trop longtemp sur un projet on fini par ne plus rien comprendre. Mon pb est q


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,090 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales