DECLARE @Phoneno bigint
DECLARE @oldPhone bigint
set @Phoneno = 18955162900

BEGIN TRY

DECLARE Employee_Cursor CURSOR FOR
SELECT  phoneNumber FROM T_PersonalLib  --SET phoneNumber = @Phoneno
OPEN Employee_Cursor;
FETCH NEXT FROM Employee_Cursor;
WHILE @@FETCH_STATUS = 0
   BEGIN
		set @Phoneno = @Phoneno+1
		UPDATE T_PersonalLib SET phoneNumber = convert(varchar(20),@Phoneno) WHERE CURRENT OF Employee_Cursor
      FETCH NEXT FROM Employee_Cursor
   END;
CLOSE Employee_Cursor;
DEALLOCATE Employee_Cursor;

END TRY
BEGIN CATCH
PRINT ERROR_LINE()
PRINT ERROR_MESSAGE() 
PRINT ERROR_NUMBER() 
PRINT ERROR_SEVERITY() --严重极别

SELECT ERROR_MESSAGE() AS ErrorLine;
END CATCH
GO

 

测试时发现效率很低,5万条数据跑上十几分钟

相关文章:

  • 2021-12-01
  • 2021-09-07
  • 2022-12-23
  • 2021-08-01
  • 2021-10-24
  • 2022-02-09
  • 2021-05-21
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-10-10
  • 2022-12-23
  • 2022-12-23
  • 2021-07-06
  • 2022-12-23
相关资源
相似解决方案