2011-02-01 10 views
3

DBMS:Informix。今私は、次のフィールドを追加したいInformix DBのテーブル照会の変更

  • のuser_id、
  • USER_NAME、

USER_EMAIL:

は私がある 3つのフィールドを持つテーブルsample_tblを持っています1つの変更クエリを使用してsample_tblに列を追加します。新しいフィールドは次のとおりです。

  • user_phone_no、
  • USER_LOCATION、私はuser_idの後user_phone_noを追加したい、と私はUSER_LOCATIONを追加したい
  • USER_PASSWORD

、USER_EMAIL後USER_PASSWORDフィールド、およびすべてが単一のクエリで表示されます。これに対する提案はありますか?

+1

あなたは、列の順序を気にしないのはなぜ? 'SELECT * FROM sample_tbl ...' ... – pascal

+0

のようなクエリをアプリケーションで使用しないことを願っています。あなたは5つのフィールドを指定しましたが、3つだけを指定しました。 – pascal

+1

列の順序は宿題なので重要です。昔は、DBMSがInformix Standard Engine(SE)でC-ISAMを使用しており、C-ISAMファイルもC-ISAMで書かれたプログラム(SE自体だけでなく、 )。かつて20年以上前、これはかなり一般的だった。今、それは非常にまれです、慈悲深く。 –

答えて

12

IBM online docsによると、Informix v10ではALTER TABLE ADD column BEFORE existing_columnが可能です。

したがって、このような何かが仕事ができる(私はこのコンピュータ上のInformix接続されていない)...

ALTER TABLE sample_tbl 
ADD user_phone_no varchar(10) BEFORE user_name, 
ADD user_location varchar(10), 
ADD user_password varchar(10); 
+0

うまく動作するはずです。手動バッシングでうまくいきます。この表記は、1985年の1.10から2010年の11.70までのInformixのすべてのバージョンで行われています。 –

+0

私はマニュアルを破っていませんでした。私はちょうど答えを探せば、問題のバージョンの兆候はなかった...私はちょうどv4からv9にInformixと遊んだ。 – pascal

関連する問題