我有一个存储过程,可以从一个数据库转移到另一个数据库。共创建了八个表。我的方法基本上是
BEGIN
IF table exists. BEGIN Drop table END
BEGIN
SELECT (do manipulations here, convert to varchars, rename etc)
INTO newTablename
FROM [linked server].table
INNER JOIN [linked server].table ec
WHERE some conditions
END
END
我今天发现这个程序在周末爆发,我得到一个错误说
超出锁定请求超时时间
我读到这可能是由于SELECT INTO代码,所以我应该将其更改为INSERT INTO吗?
或者,我应该将每个块放在以下
中BEGIN TRANSACTION;
BEGIN TRY
MY BLOCK HERE
COMMIT TRANSACTION;
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION;
END CATCH
欢呼你的帮助