SQL Serverのデータを含むテーブルに列を追加する場合、その列にはNULLオプションまたはデフォルトが必要であることを理解しています。それ以外の場合、SQL Serverは新しい行を何で埋めますか?
ただし、空のテーブルにNOTNULL列を追加できない理由については迷っています。SQL2008の2つのインスタンスとSQL2005の1つのインスタンスでこれを問題なく試しました。ただし、SQL2000を使用しているお客様にはこの問題があります。これはSQL2000に関連していますか、それともオフにできるオプションですか。それがオプションであることを願いましょう。
Select @@Version
Microsoft SQL Server 2000-8.00.760(Intel X86)2002年12月17日14:22:05 Copyright(c)1988-2003 WindowsNT5.1上のMicrosoftCorporationDeveloper Edition(ビルド2600:Service Pack 3)
Select count(*) from actinv
0
ALTER TABLE [ActInv] ADD [BATCHNUMBER] NVARCHAR(50) NOT NULL
メッセージ4901、レベル16、状態1、行1 ALTER TABLEでは、nullを含むか、DEFAULT定義を指定できる列のみを追加できます。列「BATCHNUMBER」は、NULLを許可せず、DEFAULT定義を指定していないため、テーブル「ActInv」に追加できません。