我有这样的情况,我需要更改列的顺序/为SQL Server 2008中的现有表添加新列.它不允许我没有删除和重新创建.但那是在生产系统中并且在该表中有数据.我可以备份数据,删除现有表并更改顺序/添加新列并重新创建它,将备份数据插入新表中.
有没有最好的方法来做到这一点,而不是删除和重新创建.我认为SQL Server 2005将允许此过程,而不会在更改为现有表结构时删除和重新创建.
谢谢
您无法真正更改SQL Server 2008表中的列顺序 - 它在很大程度上也无关紧要(至少在关系模型中应该如此).
使用SQL Server Management Studio中的可视化设计器,只要进行了太大的更改,为SSMS执行此操作的唯一可靠方法是以新格式重新创建表,复制数据,然后删除旧桌子.你真的无法改变它.
您可以随时执行的操作是使用SQL DDL语句向表中添加新列或从表中删除现有列:
ALTER TABLE dbo.YourTable
ADD NewColumn INT NOT NULL ........
ALTER TABLE dbo.YourTable
DROP COLUMN OldColumn
Run Code Online (Sandbox Code Playgroud)
这样可行,但您无法影响列顺序.但同样重要的是:对于正常的操作,表格中的列顺序完全无关紧要 - 在打印输出或图表上最多只是一个装饰问题.....所以为什么你如此关注特定的列顺序?
一种可能性是不必费心对表中的列进行重新排序,而只需通过添加列来对其进行修改。然后,创建一个视图,其中的列按照您想要的顺序排列——假设顺序确实很重要。可以轻松更改视图以反映您想要的任何顺序。由于我无法想象顺序对于编程应用程序来说很重要,因此该视图应该足以满足那些可能很重要的手动查询。
| 归档时间: |
|
| 查看次数: |
27768 次 |
| 最近记录: |