0
該公司有一個SQL表[Tatkal_Merge]包含多個分支有很多帳戶。SQL檢查和更新表有條件
無論何時將新賬戶添加到分行,都會掃描並分派每個賬戶的工具包。
每當完成特定分支帳戶的所有掃描時,該分支將被標記爲帶有時間戳的完成。
[br_complete_qc] = 'Y',br_complete_Qc_date = GETDATE()
目前,我們使用下面的代碼都在做相同的:
update Tatkal_Merge set [br_complete_qc]='Y',br_complete_Qc_date=GETDATE() where act_no in (
select act_no
FROM [Tatkal].[dbo].[Tatkal_Merge]
where [br_complete_qc]='N' and
data_date+br_code not in (select distinct data_date+br_code FROM [Tatkal].[dbo].[Tatkal_Merge] where pin_scan='N')
)
數據日期數據類型爲nvarchar。例如:2016-10-16。
帳號Nummber是主鍵。
目前,代碼需要時間來執行。
什麼是更好/正確的方式?
的Microsoft SQL Server 2016 –
究竟爲什麼你存儲'DATE'的VARCHAR? –
該表已由其他人以Date創建爲varchar。不想更改現有的系統。但是這是減緩更新速度的原因嗎? –