sql身份插入中断

时间:2014-12-10 09:46:48

标签: sql sql-server

这可能是一个显而易见的问题。 我有一个运行游标的sql sproc。

光标会将一定数量的记录插入表中。 问题是,假设游标运行1000个插入语句,这些记录标识必须相互跟随。如果其他人在光标运行时运行插入,它将占用光标运行的两个记录之间的记录。

任何人都可以给我一些提示,以确保所有光标插入互相跟随。

请注意我的光标可能会有50 000个插入。这意味着需要一段时间来完成所有插入操作。这样在执行插入时不得中断表。

2 个答案:

答案 0 :(得分:0)

你可以试试这个:

INSERT INTO YourTable WITH (TABLOCK)
...
...
...

答案 1 :(得分:0)

BEGIN TRANSACTION t_Transaction

BEGIN TRY

  INSERT INTO  Table
 SELECT * 
 FROM tablx
  WITH (HOLDLOCK)


 COMMIT t_Transaction

END TRY 

BEGIN CATCH
  ROLLBACK t_Transaction
END CATCH