恢复栏位的在表中的位置

来源:互联网 发布:开源数据统计分析系统 编辑:程序博客网 时间:2024/04/28 05:56

当一个栏位被删除后,重新建立后,其位置不在原来的地方,如果想恢复该栏位在表中的出现的顺序,需要更改栏位在syscolumns的colid值,其具体步骤如下:

 create table test_column(a char(1) null,b char(2) null,c char(1) null,d char(2)null)

--栏位被删除前的顺序
select * from test_column
alter table test_column drop column c

--栏位被删除后的顺序

select * from test_column
alter table test_column add c varchar(1) null

--栏位被添加后的顺序
select * from test_column

--更改栏位的顺序:

sp_configure 'allow updates','1'
go
reconfigure with override

update syscolumns set colid=colid+1 where colid>3 and id=object_id('test_column')
update syscolumns set colid=3 where name='c' and id=object_id('test_column')
sp_configure 'allow updates','0'
go
reconfigure with override
go

 
原创粉丝点击