日期:2014-05-18  浏览次数:20491 次

如何更新一个表的列的顺序
有个表   Table1

其中有列   A,B,C

如何用SQL语句,才可以改变列的顺序为   A,C,B   呢?

当然用企业管理器拖拉一下就可以,我需要的是SQL语句,请赐教!



------解决方案--------------------
呵呵, 不清楚,我还没有看到有关能改表的顺序的。
除非是select 表各列的显示顺序还可以。
------解决方案--------------------
打开事件探查器,在企业管理器中修改的时候,跟踪一下,系统执行的也不是一条SQL语句。
------解决方案--------------------
把系统表syscolumns中的列colid 的值做相应的修改。
例如:
http://topic.csdn.net/t/20021220/09/1279338.html
------解决方案--------------------
新建一列 D,表中就有 A,B,C,D
update table set D=B ;
update table set B=C;
update table set C=D;
删除D列
------解决方案--------------------
有个表 Table1

其中有列 A,B,C

如何用SQL语句,才可以改变列的顺序为 A,C,B 呢?

当然用企业管理器拖拉一下就可以,我需要的是SQL语句,请赐教!

1.select a,c,b into temp from Table1
2.drop table Table1
3.select * into Table1 from temp
4.drop table temp
5.列的顺序在显示时可以自由调动,更改列的顺序其意义不大.
------解决方案--------------------
1、通过更改列的colid,在我本机上测试,并不能修改列的顺序。配置:Windows 2003 Server SP2 & SQL Server 2000 + SP4

2、跟踪企业管理器的操作,是删除表,再建表,导入数据。如果可以通过修改colid来决定列的顺序,MS不必多此一举。

3、修改colid对于触发器使用COLUMNS_UPDATED()会早成什么后果,尚未测试。

4、应该没有可以直接修改列顺序的SQL语句。