[英]SSMS Stored Procedure - Update table
我在尝试在一个表中获取数据、聚合它,然后将其粘贴到另一个表中时遇到了一些困难。 我没有收到任何错误,但是当我单击执行时,新表中没有任何更新。 我正在使用去年下载的 SSMS 版本(版本 14)。
表OPEANSEAT_Hist
=
我的新表: OPENSEAT_CloseDates
这个表应该只有 1 行每个 OS_ID 和 CLOSE_DATE(如果 OS_ID 尚未关闭,则为 null)
这是我到目前为止:
ALTER PROCEDURE [PS_UPDATE_OPENSEAT_closedates]
AS
DELETE FROM [OPENSEAT_CloseDates]
UPDATE OPENSEAT_CloseDates
SET
OPENSEAT_CloseDates.OS_ID = (
SELECT t.OS_ID
FROM [dbo].[OPENSEAT_Hist] t
where t.OS_ID = OPENSEAT_Hist.OS_ID
GROUP BY [OS_ID]),
OPENSEAT_CloseDates.[CLOSE_DATE] = (
SELECT MIN(CAST([UPDATED_TIMESTAMP] AS DATETIME))
FROM [dbo].[OPENSEAT_Hist] s
WHERE CLOSED_REASON IS NOT NULL AND s.OS_ID = OPENSEAT_Hist.[OS_ID]
GROUP BY [OS_ID])
from OPENSEAT_Hist
我意识到我需要做 INSERT 而不是更新。
ALTER PROCEDURE [dbo].[PS_UPDATE_OPENSEAT_closedates]
AS
DELETE FROM [dbo].[OPENSEAT_CloseDates]
BEGIN
INSERT INTO OPENSEAT_CloseDates
SELECT
(SELECT MIN(CAST([UPDATED_TIMESTAMP] AS DATETIME))
FROM [dbo].[OPENSEAT_Hist]
WHERE OPENSEAT_Hist.OS_ID = t.[OS_ID]
GROUP BY [OS_ID]) as CLOSE_DATE,
t.OS_ID
FROM [dbo].[OPENSEAT_Hist] t
where t.CLOSED_REASON is not null
GROUP BY OS_ID
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.