我有一个遗留数据库。存储过程SC_Total_Alerts_SP
每周运行并提取数据。这已经持续多年了。现在要求是我需要获得一些额外的列。这些列不是旧版DB的一部分。我知道我需要对存储过程做的更改,但我的问题是如何确保我不丢失任何遗留数据。
查询:
DECLARE @my_Date DATETIME = GETDATE()
SELECT
@my_Date AS Date,
Title_9691DD10_7211_C835_E3E7_6B38AF8B8104 AS Alert,
Priority_B930B964_A1C4_0B5A_B2D1_BFBE9ECDC794 AS Priority,
SDUA.DisplayName AS Name
FROM
[ServiceManager].[dbo].[MT_System$WorkItem$Incident] WII
LEFT OUTER JOIN
(SELECT *
FROM [ServiceManager].[dbo].Relationship
WHERE RelatiONshipTypeId = '15E577A3-6BF9-6713-4EAC-BA5A5B7C4722') ATU ON ATU.SourceEntityId = WII.BaseManagedEntityId
LEFT OUTER JOIN
[ServiceManager].[dbo].MT_System$Domain$User SDUA ON SDUA.BaseManagedEntityId = ATU.TargetEntityId
INNER JOIN
(SELECT *
FROM [ServiceManager].[dbo].LocalizedText
WHERE ElementName LIKE '%IncidentSTATUSEnum%'
AND LanguageCode = 'ENU'
AND DisplayStringId IS NOT NULL) LTS ON LTS.LTStringId = WII.Status_785407A9_729D_3A74_A383_575DB0CD50ED
WHERE
LTS.ElementName LIKE '%Resolved'
AND SDUA.DisplayName IS NOT NULL
AND CreatedDate_6258638D_B885_AB3C_E316_D00782B8F688 > DateAdd(dd, -7, @my_Date)
答案 0 :(得分:0)
简单的方法是将原始查询放在WITH语句中,然后使用该派生表并将新数据左外连接到它以获取新列。