sql-server - 我可以在逻辑上对表中的列进行重新排序吗?

标签 sql-server

如果我要向 Microsoft SQL Server 中的表添加列,我可以控制该列在查询中的逻辑显示位置吗?

我不想弄乱磁盘上列的物理布局,但我希望尽可能将列逻辑分组在一起,以便 SQL Server Management Studio 等工具以方便的方式列出表的内容。

我知道我可以通过 SQL Management Studio 进入表的“设计”模式并拖动列的顺序来完成此操作,但我希望能够在原始 SQL 中完成此操作,以便我可以执行从命令行编写的排序脚本。

最佳答案

如果不创建新表,则无法以编程方式(即安全的方式)执行此操作。

当您提交重新排序时,企业管理器执行的操作是创建一个新表、移动数据,然后删除旧表并将新表重命名为现有名称。

如果您希望列按特定顺序/分组而不改变其物理顺序,您可以创建一个可以是您想要的任何 View 。

关于sql-server - 我可以在逻辑上对表中的列进行重新排序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1610/

相关文章:

sql - SQL Server 中的 IF 条件

sql-server - 转换日期 DD.MM.YYYY hh :mm:ss to YYYY-MM-DD in SSIS

sql-server - SQL Server 2008 存储过程不从动态查询返回输出

sql - 如何在 SQL GROUP BY 子句中返回空组

SQL根据两行中column1中的值选择一个column2

sql-server - 如何从包含 xml 命名空间的 XML 列中获取数据 (SQL Server 2005)

sql-server - 使用 SQLServer contains 部分单词

sql-server - Azure SQL 数据库中没有服务器证书信任

SQL Server 2005 - WHERE 子句 - 使用 IF 或 CASE 或 BOOLEAN?

sql-server - 尝试列出声明的 XML 命名空间