Определив представление в SQL Server 2005, я хочу написать хранимые процедуры, которые возвращают верхние элементы n из этого представления в соответствии с некоторыми критериями сортировки.Тем не менее, прежде чем возвращать их, я должен сделать некоторые обновления этих результатов, но я не могу понять, как сделать это, не запрашивая представление дважды ... Мое решение будет
CREATE PROCEDURE UpdateAndReturn
AS
UPDATE TableToUpdate SET Field = @Something WHERE IDRef IN (SELECT TOP (n) ID FROM View ORDER BY This, That)
SELECT TOP (n) * FROM View ORDER BY This, That
GO
Может кто-нибудь помочь мненайти что-нибудь более элегантное и эффективное, чем это?