0

我有一个存储过程,可以从一个数据库到另一个数据库进行传输和操作。总共创建了八个表。我的方法基本上是

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

为你的帮助喝彩

4

0 回答 0