Sql Server批量删除主键,添加自增长主键
来源:互联网 发布:aes数据加密器 编辑:程序博客网 时间:2024/05/23 19:17
最近遇到一个问题,一个数据库中有很多相近的表,已经有数据了,但是需要把主键修改为自动增长的,但是又不想删除数据,只好先删掉主键,然后再添加主键并设置自动增长。
因为这几个表的主键名字是相同的,都是“KKKKKK”,我想用循环来实现,于是写了个存储过程,主要使用游标。
- 首先,查询表名称,主要通过sysObjects这个系统表
- 查询表的主键约束
- 删除主键约束
- 删除主键
- 添加主键并设置自动增长
以上就是基本思路,剩下的就是循环了,sql server只有while循环,可以用游标来读取sql查询结果,代码如下:
BEGINDECLARE @tableName varchar(100);DECLARE test_curse CURSOR FAST_FORWARD FORselect name from sysobjects where type='u' and name like 'B[_]__';OPEN test_curse;FETCH NEXT FROM test_curse INTO @tableName;WHILE @@fetch_status=0BEGINdeclare @PK varchar(100) ; select @PK=name from sysobjects where xtype='PK' and parent_obj=object_id(@tableName);PRINT @PK;exec ('alter table '+ @tableName+' drop CONSTRAINT '+@PK);EXEC('alter table '+ @tableName+' drop column KKKKKK');EXEC('ALTER TABLE '+ @tableName+' ADD KKKKKK DECIMAL(32) IDENTITY(1,1) PRIMARY KEY');FETCH NEXT FROM test_curse INTO @tableName;END;CLOSE test_curse;DEALLOCATE test_curse;END
0 0
- Sql Server批量删除主键,添加自增长主键
- SQL Server设置主键自增长列
- SQL Server设置主键自增长列
- oracle添加主键自增长
- oracle添加主键自增长
- myBatis主键自增长sql
- sql server小技巧-自动添加时间与主键自增长
- SQL SERVER添加与删除主键约束
- 自动添加时间与主键自增长
- mysql添加主键,修改自增长值
- oracle创建表并添加主键,设置主键自增长
- SQL批量添加主键脚本
- sql删除主键并添加主键
- Sql Server删除主键和重建主键
- Sql Server删除主键和重建主键
- sql sever 设置主键自增长
- access sql 加主键 自增长
- 添加主键,删除主键
- DOS的Copy命令参数详解
- <mvc:annotation-driven />注解意义
- Palindrome Number leetcode
- Mac OSX的开机启动配置
- php基础篇-二维数组排序姐妹篇
- Sql Server批量删除主键,添加自增长主键
- VC读取目录下所有文件名
- Java 线程池 ThreadPoolExecutor.(包含拒绝策略CallerRunsPolicy,AbortPolicy,DiscardPolicy,DiscardOldestPolicy )
- <context annotation-config />标签意义
- schedule program job 关系
- Oracle get ddl
- 传值、传引用、传值之间区别
- 关于数组与链表
- IDEA 搭建strust2开发环境