У меня есть хранимая процедура, которая возвращает желаемые результаты запроса.Отлично работает.
USE [Productivity]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[ProjectsBySite]
(
@idsite int
)
AS
SELECT l.FirstName, l.LastName,s.SiteName, p.ProjectName, p.StartDate,
p.EndDate, pz.SavingsDate, pz.PlannedSavings,pz.ActualSavings
FROM ((((pt_Site as s
inner join pt_ProjectsSites as ps on s.IDSite = ps.Site_id)
inner join pt_Projects as p on ps.Project_id = p.IDProjects)
inner join pt_ProjectSavings as pz on p.IDProjects = pz.Project_id)
inner join pt_Personnel as l on p.Personnel_id = l.IDPersonnel)
WHERE IDSite = @idsite
RETURN
Я хотел бы использовать этот же запрос для ОБНОВЛЕНИЯ поля ActualSavings в таблице pt_ProjectSavings.
Вот что я пробовал, но когда я выполняю,процедура ничего не возвращает.Может кто-нибудь сказать мне, что я делаю неправильно?
USE [Productivity]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[UpdateSavings]
(
@idsite int
)
AS
BEGIN
SET NOCOUNT ON;
UPDATE pz
SET Project_id = 1
FROM ((((pt_Site as s
inner join pt_ProjectsSites as ps on s.IDSite = ps.Site_id)
inner join pt_Projects as p on ps.Project_id = p.IDProjects)
inner join pt_ProjectSavings as pz on p.IDProjects = pz.Project_id)
inner join pt_Personnel as l on p.Personnel_id = l.IDPersonnel)
WHERE IDSite = @idsite
END
Я уверен, что это больше, чем одна вещь, и я знаю, что мне нужно добавить SELECT:
SELECT l.FirstName, l.LastName,s.SiteName, p.ProjectName, p.StartDate,
p.EndDate, pz.SavingsDate, pz.PlannedSavings,pz.ActualSavings
Я простоне могу понять, получить синтаксис.