ALTER TABLE @ SQL Server

SQL ServerでNULL制約の列を既存テーブルに追加しようとして

ALTER TABLE hoge WITH NOCHECK ADD hogehoge CHAR(3) NOT NULL

ってやったら、怒られた。
ALTER TABLE では、NULL を許可する列または DEFAULT 定義が指定されている列しか追加できません。追加する列が ID 列またはタイムスタンプ列の場合、または前述の条件のいずれも満たされない場合は、この列を追加できるようにテーブルは空である必要があります。

そんなもんなんかなぁ?他のRDBMSはどうなんだろう。
で正しいやり方はこちら

ALTER TABLE hoge ADD hogehoge CHAR(3) NOT NULL DEFAULT '000'

もしくは
ALTER TABLE hoge ADD hogehoge CHAR(3) NULL
ALTER TABLE hoge ALTER COLUMN hogehoge CHAR(3) NOT NULL