6
votes

Comment créer une procédure stockée renvoie un "jeu de données" à l'aide d'un paramètre que je passe?

Je suis très nouveau dans les procédures stockées.

Dis que j'ai une catégorie d'identité (int) et je transmettais cela à une procédure stockée. Dans la normale, ça va aller:

Trouvez-moi toutes les annonces avec un IDCategory égal à l'IDCATEGORIE que je suis vous dire de trouver.

Donc, il trouverait 3 inscription, et créez une table avec des colonnes:

Identification, IDCATEGORIE, PRIX, VENDEUR, Image.

Comment pourrais-je y parvenir?


1 commentaires

Pourquoi cette question est-elle étiquetée avec MySQL et TSQL, puisque la réponse se réfère uniquement à MSSQL? MDR.


3 Réponses :


2
votes

avoir une table dans votre base de données contenant ces 5 champs que vous souhaitez et interrogez-le.

Exemple: p>

Select IDListing, IDCategory, Price, Seller, Image
From [listingtable] --whatever your table is called
where IDCategoryID = @IDCategoryID


2 commentaires

Quel est l'avantage de déclarer une variable avant de l'utiliser? La réponse de Brisbe42 est-elle meilleure parce qu'elle a déclaré la variable d'abord?


Sans le contexte de la définition de procédure stockée, cette réponse est plus proche de ce que l'on utiliserait réellement dans une procédure stockée.



2
votes

Procédure stockée entière:

CREATE PROCEDURE sp_Listing_Get
  @IDCategory int
AS

  DECLARE @categoryid
      SET @categoryid = @IDCategory

BEGIN

   SELECT t.idlisting,
          t.idcategory,
          t.price,
          t.seller,
          t.image
     FROM [databaseName].dbo.LISTING t
    WHERE t.idcategoryid = @categoryid

END


0 commentaires

5
votes

Pour remplir un jeu de données à partir d'une procédure stockée, vous auriez du code comme ci-dessous: xxx

Votre chaîne de connexion sera différente et il y a quelques façons différentes de le faire, mais cela devrait vous procurer Va ... Il aide à nettoyer les ressources et nécessite quelques petites lignes de code. Cela suppose un nom d'identité de nom de procédure stockée avec un paramètre appelé identique. Il peut être un peu différent dans votre configuration.

Votre procédure stockée dans ce cas ressemblera à quelque chose comme: xxx

Voici un lien sur les bases de la procédure stockées : http://www.sql-server-performance.com/articles/dba /STored_ProcoDures_Basics_P1.aspx

Voici un lien sur les jeux de données et d'autres éléments avec Ado.net: http://authors.aspalliance.com/QuickStart/howto/doc/adoplus /adoplusoverview.aspx


0 commentaires