Maison base de données tutoriel mysql 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

May 21, 2017 am 11:39 AM
server sql sqlserver 存储过程

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
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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 = 'UPDATE myDATA_Details SET '+ @FieldName + ' = ''' +@FieldValue + ''' WHERE DealerID = '+ @DealerID
         EXEC(@StrSQL)
       END
     ELSE
       BEGIN
         INSERT INTO myDATA_Details (DealerID) VALUES (@DealerID)
         SET @StrSQL = 'UPDATE myDATA_Details SET '+ @FieldName + ' = ''' +@FieldValue + ''' WHERE DealerID = '+ @DealerID
         EXEC(@StrSQL)
       END
   END
Copier après la connexion

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 de ce site Web
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

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment résoudre le problème selon lequel l'objet nommé existe déjà dans la base de données sqlserver Comment résoudre le problème selon lequel l'objet nommé existe déjà dans la base de données sqlserver Apr 05, 2024 pm 09:42 PM

Comment résoudre le problème selon lequel l'objet nommé existe déjà dans la base de données sqlserver

Comment importer un fichier mdf dans sqlserver Comment importer un fichier mdf dans sqlserver Apr 08, 2024 am 11:41 AM

Comment importer un fichier mdf dans sqlserver

Quelle est la différence entre HQL et SQL dans le framework Hibernate ? Quelle est la différence entre HQL et SQL dans le framework Hibernate ? Apr 17, 2024 pm 02:57 PM

Quelle est la différence entre HQL et SQL dans le framework Hibernate ?

Que faire si le service sqlserver ne peut pas être démarré Que faire si le service sqlserver ne peut pas être démarré Apr 05, 2024 pm 10:00 PM

Que faire si le service sqlserver ne peut pas être démarré

Utilisation de l'opération de division dans Oracle SQL Utilisation de l'opération de division dans Oracle SQL Mar 10, 2024 pm 03:06 PM

Utilisation de l'opération de division dans Oracle SQL

Où est la base de données sqlserver ? Où est la base de données sqlserver ? Apr 05, 2024 pm 08:21 PM

Où est la base de données sqlserver ?

Comment récupérer une base de données supprimée accidentellement dans SQLserver Comment récupérer une base de données supprimée accidentellement dans SQLserver Apr 05, 2024 pm 10:39 PM

Comment récupérer une base de données supprimée accidentellement dans SQLserver

Comparaison et différences de syntaxe SQL entre Oracle et DB2 Comparaison et différences de syntaxe SQL entre Oracle et DB2 Mar 11, 2024 pm 12:09 PM

Comparaison et différences de syntaxe SQL entre Oracle et DB2

See all articles