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 = '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
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!