Maison > base de données > tutoriel mysql > Comment puis-je appeler une procédure stockée pour chaque ligne d'un tableau sans curseurs ?

Comment puis-je appeler une procédure stockée pour chaque ligne d'un tableau sans curseurs ?

Susan Sarandon
Libérer: 2025-01-06 00:03:40
original
567 Les gens l'ont consulté

How Can I Call a Stored Procedure for Each Row in a Table Without Cursors?

Appel d'une procédure stockée pour chaque ligne sans curseur

Si vous devez appeler une procédure stockée pour chaque ligne d'une table, mais Si vous souhaitez éviter d'utiliser un curseur, vous pouvez utiliser une approche basée sur des ensembles. Voici un extrait de code pour vous guider :

-- Declare & init (2008 syntax)
DECLARE @CustomerID INT = 0

-- Iterate over all customers
WHILE (1 = 1) 
BEGIN  

  -- Get next customerId
  SELECT TOP 1 @CustomerID = CustomerID
  FROM Sales.Customer
  WHERE CustomerID > @CustomerId 
  ORDER BY CustomerID

  -- Exit loop if no more customers
  IF @@ROWCOUNT = 0 BREAK;

  -- call your sproc
  EXEC dbo.YOURSPROC @CustomerId

END
Copier après la connexion

Ce code parcourt une table, récupère l'ID du client suivant et appelle la procédure stockée YOURSPROC avec l'ID comme paramètre. Il continue cette boucle jusqu'à ce qu'il n'y ait plus de clients à traiter.

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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal