松井@NTTデータです。

On Wed, 17 May 2000 03:24:37 +0900
中村暁史 Nakamura Akifumi <BXQ04723 / nifty.ne.jp> wrote:

> おっと失礼。ローじゃなくてカラムの話だったんですね。

です。^^;

> RDBCでは(^^;;;;;;、カラムの数はそもそも
> そのカラムを要求する人「が」決めることである
> はずなので、そうしています。

私もそんな感覚を持っています。
#DBユーザというよりもDBベンダの立場なので、細かい阿吽までは把握していな
#いかもしれませんが。

カラム数はSQL statementを生成している場所で把握できているはずです。

で、考えてみるとDBへアクセスするアプリケーションをお気軽に作成するツール
としてRubyを使うことを考えると、select句に指定するカラム数は当然スクリプ
ト内で把握しているでしょう。

もしRuby自体が何らかのツールの中に組み込まれるなどで、汎用DB接続ツールと
して使われるのなら、SQL statementやその材料がRubyの外からやってくるので
Rubyスクリプト内ではカラム数を把握できないということになりますね。

うーん、前者の方しか考えてなかった。

元はといえば「col1, =」という記法にとまどいを感じているのと、カラムが1つ
のSQL statementは他と比べて特殊な狙いがあるはずだ、という先入観からこう
しちゃったんですけどね。

やっぱりよけいなことはしないようにした方が良さそうです。

> よだん:
> fetch毎にデータのカラム数が変化する、ってことが
> あるんでしょうか?sql実行毎には当然変化するでしょうけども。

これは無かったはずです。(SQL92でもSQL3でも)
ベンダ固有の拡張で可変個のデータを返すようにするものでも、クライアントか
らは配列等の形で見えるようになっていたと思います。

-------------------------------------------------------
株式会社NTTデータ UniSQL製品事業推進部
                      営業担当 松井 眞理夫
TEL:03-3647-8611
FAX:03-3647-7511
Email:mario / unisql.nttdata.co.jp