テーブルを変更して新しい列を追加しようとしていて、その列に新しい行を挿入しようとしています。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', 0, 1, GETDATE(), GETDATE())
が、私は得る:
Msg 207, Level 16, State 1, Line 1
Invalid column name 'ModifiedDate'.
私はSQL Server Management Studioで上記のSQLを実行しようとします。私はこれがStudioエラーではなく、サーバーエラーであると思います。 SQLを実行した場合、その時点で列が存在するため、SQLが機能します。
テーブルに新しい列を追加し、そのテーブルに挿入するにはどうすればよいですか?
バージョン:
- SQL Server 2000の
- SQL Server Management Studioの2008年予想通り
このバッチ処理をオフにする方法はありますか?私はこの問題を私のSQLファイルに20〜30件ほど載せています。あるバージョンから別のバージョンへのデータベースの更新。 – Justin808
@ Justin808:動的SQLまたはGOなしではありません。これは、SQL Serverが実行計画を作成する方法であり、実行計画の基本となります。手続き的/行単位ではありません。 – gbn
あなたのソリューションは、私が投稿したものよりも優れています。 – Lamak