0

我正在用 VBScript 创建一个清除脚本,如果记录超过一个月,它会从表中删除记录。

每个表的条件不同,有父表和子表(即后者依赖于前者获取ID码和上传状态)。

我的问题:是否应该DELETE将每个表的每个块创建为一个单独的过程,包括子删除和父删除?这将如何最好和最有效地处理?

SQL 代码示例:

DELETE FROM TestStaging.dbo.SpinDataEntries
WHERE TestStaging.dbo.SpinDataEntries.SpinDataId IN
(select TestStaging.dbo.SpinData.SpinDataId from TestStaging.dbo.SpinData
WHERE TestStaging.dbo.SpinData.UploadStatus in ('F', 'C')
AND LastUploaded < DATEADD (m,- 1,SYSDATETIME()));

DELETE FROM TestStaging.dbo.SpinData
WHERE TestStaging.dbo.SpinData.UploadStatus in ('F', 'C')
AND LastUploaded < DATEADD (m,- 1,SYSDATETIME());

是否应该将这两个块中的每一个以及其余代码记录为单独的存储过程,然后从单独的主 VBScript 中调用?

4

1 回答 1

0

除非您需要能够单独运行每个语句,否则将它们包装在单个存储过程中会更有效。

于 2014-10-06T08:38:05.253 回答