-2
我們正在測試2008年sql server中的一個程序。此過程只有以下刪除查詢。SQL Server 2000和SQL Server 2008查詢
delete from dbo.tgrid_detl
where SOURCE_KEY in (
SELECT tg.SOURCE_KEY
FROM dbo.tgrid_detl tg
WHERE NOT EXISTS
(select *
FROM dbo.tgrid_stagging s,dbo.tgrid_detl tg
where cast(s.SUBMISSION_NO as varchar(18)) +
cast(year(s.POLICY_EFCTV_DT)as varchar) +
s.PRODCT_COVG_TYP_CD +
s.UW_SYSTEM_ID +
s.PRODUCT_ABBR +
s.PRODUCT_CD = tg.source_key
)
and tg.F_TRANS_CD = 'N'
and tg.UPDATE_ID is null
and tg.COMMENTS_UPDATE_DT is null
and tg.SOURCE_ID = 'EDW_SUB'
)
這在SQL 2000服務器上工作正常,但它不會刪除sql 2008服務器中的行。你能否就此提出建議?謝謝。
tgrid_staging上的子查詢是否加入到tgrid_detl在2008盒子上產生數據?這是不同於你從2000分貝回來的結果集? – Johnv2020
你採取了哪些步驟來爲自己調試?你有沒有嘗試運行子查詢作爲'select'語句來查看它們是否返回相同的行? –
插入子查詢重排相同的行。但可以檢查哪些配置,按照我所知我正在使用「IS NULL」來驗證空值。那麼我應該檢查什麼。 – user863952