Maison  >  Article  >  base de données  >  Code d'implémentation pour créer et modifier des procédures stockées SQL Server

Code d'implémentation pour créer et modifier des procédures stockées SQL Server

巴扎黑
巴扎黑original
2017-05-21 11:39:091438parcourir

Cet article présente principalement le code d'implémentation pour créer et modifier les procédures stockées SQL Server. Les amis qui en ont besoin peuvent s'y référer

Ouvrez l'outil de gestion de SQL Server 2005, sélectionnez la base de données dans laquelle vous devez créer. une procédure stockée, et recherchez la « Programmabilité », développez-la et vous pourrez voir « Procédures stockées ». Faites un clic droit dessus et sélectionnez "Nouvelle procédure stockée". La fenêtre d'édition à droite s'ouvre, qui contient les instructions SQL Server générées automatiquement par Microsoft pour créer des procédures stockées.

Après avoir écrit le nom, les paramètres et les instructions d'opération de la procédure stockée, cliquez sur Analyse syntaxique. S'il n'y a pas d'erreur, exécutez simplement "F5" La procédure stockée est créée. une procédure stockée de base. :


 CREATE PROCEDURE Get_Data  
  (  
    @Dealer_ID VARCHAR(<strong>50</strong>)  
   )  
   AS  
 SELECT * FROM myData WHERE Dealer_ID = @Dealer_ID

Cliquez pour voir l'exemple réel

Maintenant que vous savez comment créer une procédure stockée, est-ce toujours difficile de le modifier ? Évidemment non. La modification des procédures stockées est également assez simple. Tout d'abord, actualisez la liste des procédures stockées de la base de données actuelle. Vous pouvez maintenant voir le nom de la procédure stockée que vous venez de créer. Cliquez dessus avec le bouton droit et sélectionnez Modifier. Une fenêtre d'édition s'ouvrira sur la droite, qui contient le code pour modifier la. procédure stockée. (Ci-dessous)


 ALTER PROCEDURE [dbo].[Get_Data]  
  (  
    @Dealer_ID VARCHAR(<strong>50</strong>)  
   )  
   AS  
 SELECT * FROM myData WHERE Dealer_ID = @Dealer_ID

Modification simple, le code est le suivant


ALTER PROCEDURE [dbo].[Get_Data]  
  (  
    @Dealer_ID VARCHAR(<strong>50</strong>),
    @Period VARCHAR(<strong>20</strong>)
   )  
   AS  
   SELECT * FROM myData WHERE Dealer_ID = @Dealer_ID AND Period = @Period

F5 exécuté avec succès, la modification de la procédure stockée est terminée.

J'ai commencé à écrire une procédure stockée pour implémenter l'opération d'insertion de données. Pour parler franchement, cela signifie ajouter des données. Le code de cette procédure stockée est le suivant :


 CREATE PROCEDURE PROC_INSERT_DATA_ID
  @DealerID varchar(<strong>50</strong>)
 AS
 BEGIN
 5     DECLARE @COUNT INT  
     SET @COUNT = (SELECT COUNT(*) FROM myDATA_Details WHERE DealerID = @DealerID)
     IF (@COUNT><strong>0</strong>)  
       BEGIN  
         DELETE FROM myDATA_Details WHERE DealerID = @DealerID  
         INSERT INTO myDATA_Details (DealerID) VALUES (@DealerID)  
       END  
     ELSE  
       BEGIN  
         INSERT INTO myDATA_Details (DealerID) VALUES (@DealerID)  
       END  
   END
 --实际例子:http://hovertree.com/hovertreescj/sql/p_hovertreescj_urls_add.htm

F5, la création est réussie, appelez-la pour insérer des données, OK, pas de problème, l'insertion est réussie , et que la finalité attendue est atteinte

est utilisé pour mettre à jour les données, le code est le suivant :


CREATE PROCEDURE PROC_INSERT_DATA_DETAIL
     @DealerID varchar(<strong>50</strong>), 
     @FieldName varchar(<strong>2000</strong>),
     @FieldValue varchar(<strong>2000</strong>)
   AS
   BEGIN
     DECLARE @Count INT
     SET @Count = (SELECT COUNT(*) FROM myDATA_Details WHERE DealerID = @DealerID)
     IF (@COUNT><strong>0</strong>)
       BEGIN
         UPDATE myDATA_Details SET DealValue = @FieldValue WHERE DealerID = @DealerID
       END
     ELSE
       BEGIN
         INSERT INTO myDATA_Details (DealerID) VALUES (@DealerID)
       END
   END

ou :

Code modifié


 ALTER PROCEDURE PROC_INSERT_DATA_DETAIL
     @DealerID varchar(<strong>50</strong>), 
     @FieldName varchar(<strong>2000</strong>),
     @FieldValue varchar(<strong>2000</strong>)
   AS
   BEGIN
     DECLARE @Count INT
     DECLARE @StrSQL VARCHAR(<strong>2000</strong>)
     SET @Count = (SELECT COUNT(*) FROM myDATA_Details WHERE DealerID = @DealerID)
     IF (@COUNT><strong>0</strong>)
       BEGIN
         SET @StrSQL = &#39;UPDATE myDATA_Details SET &#39;+ @FieldName + &#39; = &#39;&#39;&#39; +@FieldValue + &#39;&#39;&#39; WHERE DealerID = &#39;+ @DealerID
         EXEC(@StrSQL)
       END
     ELSE
       BEGIN
         INSERT INTO myDATA_Details (DealerID) VALUES (@DealerID)
         SET @StrSQL = &#39;UPDATE myDATA_Details SET &#39;+ @FieldName + &#39; = &#39;&#39;&#39; +@FieldValue + &#39;&#39;&#39; WHERE DealerID = &#39;+ @DealerID
         EXEC(@StrSQL)
       END
   END

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn