6

上記の列の後に新しい列を追加できるように、SQL Server 2000 で次のクエリを試しました。

alter table abc ADD dad varchar(50) after parentname

しかし、次のエラーメッセージが表示されます

メッセージ 170、レベル 15、状態 1、行 1
行 1: 'after' 付近の構文が正しくありません。

SQL Server 2000 でこれを行う方法はありますか?

4

2 に答える 2

14

SQL Server には、そのような構文はありません。

使うだけ

ALTER TABLE abc ADD dad varchar(50)
于 2013-03-10T07:21:43.960 に答える
7

簡単な答え: テーブルに順序はありません。

テーブルはレコードのセット (順不同のコレクション) であり、各レコードはフィールドのセットです。これが、RDBMS 理論が「行」と「列」よりも「レコード」と「フィールド」という言葉を好む理由です。

(たとえば、MSSQL で DBCC PAGE を使用して) データのページを見ると、フィールドの格納順序が CREATE TABLE ステートメントで指定した順序に対応していないことがわかります。

順序付けは SELECT ステートメントによって行われます。

私のアドバイスは、CREATE TABLE の簡潔さにエネルギーと時間を費やすのをやめ、代わりに SELECT ステートメントに費やすことです。

于 2013-03-11T01:38:24.597 に答える