5

AS400/iSeries/System-i/whatever に、特定の順序位置でテーブルに列を追加したり、既存の列を別の位置に移動したりする SQL コマンドはありますか?

4

2 に答える 2

9

IBM i 7.1では、列を別の列の前に追加できるようになりました。

ALTER TABLE table ADD COLUMN colname ... BEFORE othercolumn

于 2010-06-03T13:43:29.930 に答える
6

いいえ。ALTER TABLEステートメントを使用すると、テーブルに列を追加できますが、ドキュメントによると:

新しい列はテーブルの最後の列です。つまり、最初に n 列ある場合、追加される列は列 n+1 です。

テーブル内の列の順序を変更したい場合、最善の策は次のとおりです。

  1. テーブルの名前を変更するには、 RENAMEステートメントを 使用します。
  2. 元の名前でテーブルを再作成し、必要な順序で列を配置します。
  3. INSERT SELECT を使用して、名前を変更したテーブルのデータを新しいテーブルに取り込みます。
  4. データが完全であることを確認したら、名前を変更したバージョンのテーブルを削除できます。
于 2009-10-20T15:53:27.927 に答える