[英]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.