gpt4 book ai didi

sql-server - SQL Server 2000 - 更改表 + 插入 = 错误?

转载 作者:行者123 更新时间:2023-12-02 07:10:15 26 4
gpt4 key购买 nike

我正在尝试更改表格以添加新列,然后在其中插入新行。

ALTER TABLE Roles ADD ModifiedDate DateTime;
INSERT INTO Roles (Name, [Description], CreatedBy, BuiltIn, Created, ModifiedDate)
VALUES ('Name', 'Description', 0, 1, GETDATE(), GETDATE())

但我得到:

Msg 207, Level 16, State 1, Line 1
Invalid column name 'ModifiedDate'.

当我尝试在 SQL Server Management Studio 中运行上述 SQL 时。我认为这是 Studio 错误,而不是服务器错误。如果运行 SQL,它应该可以工作,因为该列此时就存在。

如何向表中添加新列,然后插入到该表中?

版本:

  • SQL Server 2000
  • SQL Server Management Studio 2008

最佳答案

正如预期的那样。 SQL Server 不会逐行执行。它编译并解析批处理,当发生这种情况时,该列不存在。

您需要将这两个操作解耦

ALTER TABLE Roles ADD ModifiedDate DateTime;
EXEC ('
INSERT INTO Roles (Name, [Description], CreatedBy, BuiltIn, Created, ModifiedDate)
VALUES (''Name'', ''Description'', 0, 1, GETDATE(), GETDATE())
')

“GO”是仅用于客户端工具的批处理分隔符,服务器无法识别

关于sql-server - SQL Server 2000 - 更改表 + 插入 = 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4855537/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com