6

我在 SQL Server 2000 中尝试了以下查询,以便可以在提到的列之后添加一个新列。

alter table abc ADD dad varchar(50) after parentname

但它向我抛出了以下错误消息

消息 170,级别 15,状态 1,第 1
行第 1 行:“之后”附近的语法不正确。

在 SQL Server 2000 中有没有办法做到这一点?

4

2 回答 2

14

在 SQL Server 中没有这样的语法。

只需使用

ALTER TABLE abc ADD dad varchar(50)
于 2013-03-10T07:21:43.960 回答
7

简短的回答:表格中没有顺序。

表是一组记录(无序集合),每个记录都是一组字段。这就是为什么 RDBMS 理论更喜欢使用“记录”和“字段”而不是“行”和“列”的原因。

如果查看一页数据(例如,通过在 MSSQL 中使用 DBCC PAGE),您将看到字段的存储顺序与您在 CREATE TABLE 语句中指定的顺序不对应。

排序由 SELECT 语句强加。

我的建议是停止将精力和时间花在 CREATE TABLE 的整洁上,而将其花在 SELECT 语句上。

于 2013-03-11T01:38:24.597 回答