选择或插入存储过程

时间:2013-05-20 01:16:16

标签: sql sql-server tsql stored-procedures

我有一个存储过程,可以从一个数据库转移到另一个数据库。共创建了八个表。我的方法基本上是

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

欢呼你的帮助

0 个答案:

没有答案