Devo aggiornare una riga in una tabella e ottenere da essa un valore di colonna. Posso farlo conSQL: aggiornamento di una riga e restituzione di un valore di colonna con 1 query
UPDATE Items SET Clicks = Clicks + 1 WHERE Id = @Id;
SELECT Name FROM Items WHERE Id = @Id
Questo genera 2 piani/accessi alla tabella. È possibile in T-SQL modificare l'istruzione UPDATE per aggiornare e restituire la colonna Nome solo con 1 piano/accesso?
Utilizzo i metodi C#, ADO.NET ExecuteScalar()
o ExecuteReader()
.
Immagino che questo funzioni solo per SQL-2005 –
E sopra, sì. Con SQL Server 2000, vedere Risposta dell'apprendimento –
IIRC, la clausola OUTPUT è stata introdotta come parte di SQL Server 2005 Service Broker - http://msdn.microsoft.com/en-us/library/ms345108.aspx –