2012-04-17 122 views
6

我知道您可以进入SQL Server Management Studios中的表的设计视图,并按列出现在设计视图中的顺序对列进行重新排序,但这对于SQL Azure作为选项不可行被禁用。 有没有办法修改SQL Azure表格,这样你就可以重新排列它们在列表中出现的设计视图的顺序?通过SSMS订购SQL Azure表列

我在过去的几个月里一直在运行一些数据库升级来支持新的需求,并且想重新排列列出现在设计视图中的方式,以便它们更易于阅读,即它们以主键,其次是外键,然后是普通列,最后是添加的,由字段修改。它纯粹是为了使表格更具可读性,因为我随着时间的推移管理它们。

回答

0

只需对表格运行脚本。它有点伪代码,但你应该明白。

CREATE TABLE TableWithDesiredOrder(PK,FK1,FK2,COL1,COL2) 

INSERT INTO TableWithDesiredOrder(PK,FK1,FK2,COL1,COL2....) 
SELECT PK,FK1,FK2,COL1,COL2.... FROM OriginalTable 

DROP TABLE OriginalTable 

最后重命名表

sp_Rename TableWithDesiredOrder, OriginalTable 
+1

嗨大卫,谢谢你,但我希望有一个不同的选项可用,这需要创建复制删除步骤,还需要FK sql书面。如果没有可行的做法,那就够公平的了。我希望可能会有。 – Bern 2012-04-17 13:47:17

+1

+1给David的回答。我不认为有任何其他选项可以对列进行重新排序。当您通过SSMS设计视图对列进行重新排序时,在单击保存之前,可以查看SSMS为您生成的基础脚本,方法是右键单击并生成脚本菜单项。您可以看到SSMS以相同的方式使用(create-copy-drop),但它也处理FK等。也许您可以在运行脚本之前关闭FK检查,然后打开它。 – 2012-04-18 03:08:33

+0

感谢Shuan,很好的回答。 – Bern 2012-04-18 19:42:43

0

只是另一种选择:我用SQL三角洲传播从开发我的数据库的变化分贝高达Azure的分贝。所以在这种情况下,我只需使用SSMS GUI在本地更改col命令,而SQL Delta将为我执行createnew> copytonew> dropold以及其他本地更改。 (在项目选项中,我设置了保留列顺序=是。)