- PR -

informixの表表現について

1
投稿者投稿内容
butthead
大ベテラン
会議室デビュー日: 2004/01/14
投稿数: 162
投稿日時: 2004-09-22 10:10
結構、informixはレスがほとんどなくて、やっぱ苦しいですね。
さすがマイナーDBだけに。

ところで、informixv9.3で表表現が使えません。
表表現というのは
select * from (select * from test1) as A

のようなやり方ですが、上記はDB2やmssqlの場合です。
oracleはas Aはいりません。

ところが、informix v9.3でやると、上記のどちらのやり方でも失敗します。
マニュアルにはv9.4のときに表表現というものが説明されてありますが、
v9.3では書いてないのです。

そこで、上記のようなselect句で、クエリを得たいのですが、ほかにやり方を知ってる方いらっしゃいませんか。よろしくお願いします。
hidemaru
常連さん
会議室デビュー日: 2004/03/22
投稿数: 44
投稿日時: 2004-09-22 13:11
informix の表表現は、バージョンが古いと、たしかに機能しません。
このような場合は、

select * from test1 into temp tmp1;
select * from tmp1;

というような、テンプテーブルを使って実行するしかないようです。
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2004-09-22 13:23
unibon です。こんにちわ。

引用:

buttheadさんの書き込み (2004-09-22 10:10) より:
結構、informixはレスがほとんどなくて、やっぱ苦しいですね。
さすがマイナーDBだけに。


以前のご投稿を拝見していて思ってたのですが、Informix は使わざるを得ない状況なのでしょうか。だったら仕方ないのですが、もし使わなくて良いという選択肢があるなら、早目に Informix の使用は諦められたほうが良いかなとも思います。(たぶん、Informix しかないという状況なのでしょうけど。)

引用:

buttheadさんの書き込み (2004-09-22 10:10) より:
ところで、informixv9.3で表表現が使えません。
表表現というのは
select * from (select * from test1) as A

のようなやり方ですが、上記はDB2やmssqlの場合です。


昔は、これができない DBMS のほうが多かったものです。MS SQL Server もできませんでした。上記のクエリーなら、
select * from test1 as A
とすれば良いだけのなので、具体的にできなくて困る SQL を提示されたほうが良いかもしれません。(表表現の実現の有無を問われたのでしょうけど。)
butthead
大ベテラン
会議室デビュー日: 2004/01/14
投稿数: 162
投稿日時: 2004-09-22 14:58
レスをありがとうございます。
>Informix は使わざるを得ない状況なのでしょうか
開発せざるを得ないです。たとえ不便なDBでも。

select * from test1 into tmp
select * from tmp
というやり方があるんですね。
しかし、v94とv93を分けるのもどうかなという部分があるので
あきらめてテンプを使ってみます。

ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)