Je suis convertir des données dans SQL Server 2005. J'ai une mise à jour de table comme ceci:Puis-je utiliser une sortie de procédure de magasin dans une instruction de mise à jour dans SQL Server?
update Invoices set Invoices.InvoiceReference = 'NewRef'
where Invoices.InvoiceReference='Unknown'
Mais ce que je voudrais brancher au lieu de « NewRef » est la sortie d'une procédure stockée utilise les paramètres des colonnes de la table Factures. La procédure stockée elle-même met à jour une autre table. C'est possible? Quelque chose comme ceci ci-dessous (ce qui est faux bien sûr :)
DECLARE @Ref nvarchar(20)
update Invoices set Invoices.InvoiceReference = (
EXEC InvoiceGenerateRef
@ClientCode = Invoices.ClientCode,
@EventCode = Invoices.EventCode,
@Ref = @Ref OUTPUT
SELECT @Ref)
where Invoices.InvoiceReference='Unknown'
Ai-je besoin d'utiliser un curseur ou la syntaxe tout simplement faux?
Merci, Chris.
Salut, merci pour la réponse, mais il est pas tout à fait ce que je suis après. Les paramètres du processus stocké doivent provenir de la ligne en cours de mise à jour. Donc, si j'avais 2 lignes dans les factures, la mise à jour donnerait des références différentes aux lignes en fonction des données dans les colonnes des lignes. J'espère que cela a du sens! – Chris
J'aurais dû le rendre plus clair dans mon exemple, désolé :( – Chris