Jus*_*808 15 t-sql sql-server sql-server-2000
我正在尝试更改表以添加新列,然后在其中插入新行.
ALTER TABLE Roles ADD ModifiedDate DateTime;
INSERT INTO Roles (Name, [Description], CreatedBy, BuiltIn, Created, ModifiedDate)
VALUES ('Name', 'Description', 0, 1, GETDATE(), GETDATE())
Run Code Online (Sandbox Code Playgroud)
但我得到:
Msg 207, Level 16, State 1, Line 1
Invalid column name 'ModifiedDate'.
Run Code Online (Sandbox Code Playgroud)
当我尝试在SQL Server Management Studio中运行上述SQL时.我认为这是Studio错误,而不是服务器错误.如果SQL运行,它应该工作,因为该列将存在.
如何向表中添加新列然后插入该表?
版本:
gbn*_*gbn 19
正如所料.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())
')
Run Code Online (Sandbox Code Playgroud)
"GO"是仅适用于客户端工具的批处理分隔符,服务器无法识别
| 归档时间: |
|
| 查看次数: |
7235 次 |
| 最近记录: |