[前][次][番号順一覧][スレッド一覧]

mysql:2379

From: "Satoshi Koiwa" <"Satoshi Koiwa" <koiwa@xxxxxxxxxx>>
Date: Wed, 16 Aug 2000 23:52:59 +0900
Subject: [mysql 02379] RE: 複数同時クエリーは可能ですか?

たまに出てくる小岩です。夏休みなし。

これってモロにPro*Cですよね。Pro*Cのソースをどのように移行していらっしゃるん
でしょうか。OCIのMySQLのC APIってかなり違わくないですか? 以前ちょっとだけ
Pro*Cのバッチ処理プログラムの移行を考えたことがあったんですが、すぐにあきら
めました。

ということとは別に、カーソルの中で別のカーソルまわしたり、カーソルの中で当該
カーソルを設定している表を更新したりdeleteしたり、私はMySQLはPerlでしか使い
ませんけれどPerlでは問題なく使えます。

結構PL/SQLのソースはPerlに移行しやすいと思ってます。Perlが節操が無い言語だか
らかも。


-----Original Message-----
From: S.Ikeda [mailto:ZVC11347@xxxxxxxxxx]
Sent: Wednesday, August 16, 2000 11:37 PM
To: MySQL 投稿
Subject: [mysql 02378] 複数同時クエリーは可能ですか?


はじめまして、池田と申します。

 これまでOracleを主に使っていたのですが、最近は専らMySQLに移
行しつつある
状況なのですが、Oracleで出来ていた事をそのままMySQLでやろうと
するとエラー
になるようで、それが仕様なのかプログラミング上の手法で解決できるのか質問
させて下さい。

 ひとつは、顧客情報からある条件で住所コードを抽出し、そのコードを利用し
て住所情報から
情報を取り出せるかということです。

  EXEC SQL DECLARE C1 CURSOR FOR
            SELECT ADD_CD FROM KOKYAKU WHERE ある条件;
  EXEC SQL OPEN C1;
  while(1){
      EXEC SQL FETCH C1 INTO :add_id;

      EXEC SQL SELECT 住所
                 INTO :address
                 FROM 住所マスタ
                WHERE 住所ID = :add_id;
  }

  SELECT .. INTO .. が使えないことはマニュアルにあったので、別にカーソル
を開いて
取り出そうとしたのですが、Segmentation Error が出てしまってダメでした。

 MYSQL_RES res1,res2;

 として、クエリー毎に mysql_query() の戻りを分けたのですが、...。

 もう一つは、抽出した件数と数値の合計を別なテーブルに集計しようとして、
INSERT文や
UPDATE文を途中に入れた場合も同じエラーが出てしまいました。

  EXEC SQL DECLARE C1 CURSOR FOR
            SELECT YM,NUM FROM KOKYAKU WHERE ある条件;
  EXEC SQL OPEN C1;
  while(1){
      EXEC SQL FETCH C1 INTO :ym,:num;

      EXEC SQL UPDATE 集計結果
                  SET 件数 = 件数 + 1,
                      合計 = 合計 + :num
                WHERE 年月 = :ym;
  }

 肝心のMySQLのプログラムコードが手元に無くて、正確な情報が伝えにくいの
ですが、もし
これだけの情報で何かわかる事がありましたらお願いします。


[前][次][番号順一覧][スレッド一覧]

      2378 2000-08-16 23:37 ["S.Ikeda" <ZVC11347@] 複数同時クエリーは可能ですか?          
->    2379 2000-08-16 23:52 ┗["Satoshi Koiwa" <koi]