• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

落雪凝辰

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

遍历所有表,取每个表的MAXID更新到ID控制表

Declare @Name nvarchar(50)
Declare @TID int

DECLARE Temp_Cursor1 Cursor--定义游标
FOR SELECT Name FROM Sys_Entity 
OPEN Temp_Cursor1
FETCH Temp_Cursor1 INTO @Name
WHILE @@fetch_status=0
BEGIN
SET @TID=0
select @TID=id from [sysobjects] where [type] = 'u' and [name]=@Name
print (@TID)
if @TID>0
BEGIN
exec('update Sys_Entity set MaxID=(select MAX(ID) from '+@Name+' ) where Name='''+@Name+'''')
END 
FETCH Temp_Cursor1 INTO @Name
END
CLOSE Temp_Cursor1
DEALLOCATE Temp_Cursor1

更新最大ID时,忘记写where条件,导致把ID控制表Sys_Entity的所有ID都更新为相同的了。。

无奈之下,只能写个方法把所有表的最大ID重新取出来存到Sys_Entity

posted on 2016-01-08 16:52  落雪凝辰  阅读(259)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3