我们需要(每月一次)清除具有 50,000 条记录的表的内容,并使用存储过程重新填充。SP 有一个用户定义的表类型参数,其中包含要插入的所有新记录。
目前的思路如下
ALTER PROCEDURE [ProcName]
@TableParm UserTableType READONLY
AS
[Set lock on table?]
BEGIN TRAN
DELETE FROM [table]
INSERT INTO [table](column, column, column)
SELECT (a.column, a.column, a.column) FROM @TableParm a
COMMIT TRAN
[Remove lock from table?]
我已经阅读了一些建议设置 READ COMMITED 或 READ UNCOMMITED ... 的解决方案,但我想我会根据情况求助于专业人士来引导我朝着正确的方向前进。
谢谢!