SQL Server 2000で次のクエリを試し、上記の列の後に新しい列を追加できるようにしました。
alter table abc ADD dad varchar(50) after parentname
しかし、それは私に次のエラーメッセージをスローします
メッセージ170、レベル15、状態1、行1
1行目:「後」の近くの構文が正しくありません。
SQL Server 2000でこれを行う方法はありますか?
SQL Serverには、そのような構文はありません。
使用するだけ
ALTER TABLE abc ADD dad varchar(50)
簡単な答え:テーブルに順序はありません。
テーブルはレコードのセット(順序付けられていないコレクション)であり、各レコードはフィールドのセットです。これが、RDBMS理論が「行」と「列」ではなく「レコード」と「フィールド」という単語を好む理由です。
データのページを見ると(たとえば、MSSQLでDBCC PAGEを使用して)、フィールドの格納順序がCREATETABLEステートメントで指定した順序に対応していないことがわかります。
順序付けは、SELECTステートメントによって課されます。
私のアドバイスは、CREATE TABLEのすっきりさにエネルギーと時間を費やすのをやめ、代わりにSELECTステートメントに費やすことです。