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]