注册 登录
编程论坛 SQL Server论坛

[求助]SQL Server中表怎样实现各列位置的改变?

木木秋 发布于 2007-03-27 17:27, 1251 次点击
如我想将第1列和第3列互换,谢谢!
9 回复
#2
Kendy1234562007-03-27 17:33
Select出来的话是自己指定的。

如果想改变物理顺序。。。不知道修改系统表是否可以实现。
查询分析器里 用select into 输入到新表 drop原来的表 然后再把新表改名字
#3
木木秋2007-03-27 17:39
多谢!
#4
棉花糖ONE2007-03-27 18:08

通过系统表改列的物理顺序
if object_id('shiyan') is not null
drop table shiyan
go
create table shiyan(id int,name varchar(10),score int)
insert into shiyan select 1,'aa',80

sp_configure 'allow update',1
reconfigure with override
select a.name,colid from syscolumns a,sysobjects b where a.id=b.id and b.name='shiyan'
update syscolumns set syscolumns.colid=5 from sysobjects b where syscolumns.id=b.id and b.name='shiyan' and syscolumns.colid=1 --5可以随便改,只要比列的个数大的数就行
update syscolumns set syscolumns.colid=1 from sysobjects b where syscolumns.id=b.id and b.name='shiyan' and syscolumns.colid=3
update syscolumns set syscolumns.colid=3 from sysobjects b where syscolumns.id=b.id and b.name='shiyan' and syscolumns.colid=5
select a.name,colid from syscolumns a,sysobjects b where a.id=b.id and b.name='shiyan'
sp_configure 'allow update',0
reconfigure with override

#5
Kendy1234562007-03-28 12:23
楼上牛X呀
#6
棉花糖ONE2007-03-28 12:24
去那给我说说ftp怎么向远程主机发文件
#7
cyyu_ryh2007-03-28 13:09
这样会不会把已经有的数据删除掉
#8
棉花糖ONE2007-03-28 13:10
不会,我不是给例子了,你自己运行下就知道了
#9
cyyu_ryh2007-03-28 14:37


我没2000只有2005,但是还不太会用

#10
棉花糖ONE2007-03-28 15:02
2005不行,不让改系统表
1