sql-server – SQL Server 2000 – ALTER TABLE INSERT INTO =错误?

前端之家收集整理的这篇文章主要介绍了sql-server – SQL Server 2000 – ALTER TABLE INSERT INTO =错误?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图修改一个表来添加一个新的列,然后在其中插入一个新的行.
ALTER TABLE Roles ADD ModifiedDate DateTime;
INSERT INTO Roles (Name,[Description],CreatedBy,BuiltIn,Created,ModifiedDate)
    VALUES ('Name','Description',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不会逐行执行.它编译和解析批处理,当这种情况发生时,列不存在.

您需要解耦2个动作

ALTER TABLE Roles ADD ModifiedDate DateTime;
EXEC ('
    INSERT INTO Roles (Name,ModifiedDate)
    VALUES (''Name'',''Description'',GETDATE())
')

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

原文链接:https://www.f2er.com/mssql/81787.html

猜你在找的MsSQL相关文章