PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
11818 | 00/06/19 11:00:40 | RE(3):PB6.5: datastoreのwhere句の動的変更とsetsqlselectについて By mama |
11805 | 00/06/16 20:02:51 | RE(2):PB6.5: datastoreのwhere句の動的変更とsetsqlselectについて By M.M |
11801 | 00/06/16 18:25:28 | RE(1):PB6.5: datastoreのwhere句の動的変更とsetsqlselectについて By てとらぽっと |
11800 | 00/06/16 17:56:57 | PB6.5: datastoreのwhere句の動的変更とsetsqlselectについて By mama |
カテゴリ:スクリプトの記述
日付:2000年06月16日 17:56 発信者:mama
題名:PB6.5: datastoreのwhere句の動的変更とsetsqlselectについて
こんにちは。
やりたいことは、まず、元になるテーブルから検索条件に該当するデータを取得して、
そのデータに対して、その他の複数のテーブルからデータを取得してwork用のテーブルにデータを落すという単純なも
のなのですが、filter()かsetsqlselect()かというところで悩んでしまいました。
(元になるテーブルとその他のテーブルは1対多の関係です。)
*------------------------------------------------------------*
lds_A = CREATE datastore
lds_A.dataobject = \'d_A\'
ls_original_sql = lds_A.getselselect()
ls_where = ・・画面指定項目・・
li_ret = lds_A.setsqlselect(ls_original_sql + ls_where)
li_A_cnt = lds_A.rowcount()
※ ?
FOR li_cnt = 1 TO li_A_cnt
ls_カラム1 = lds_A.getitemstring(li_cnt,\'カラム1\')
ls_カラム2 = lds_A.getitemstring(li_cnt,\'カラム2\')
※ ?
INSERT INTO work_tbl(・・・) SET (
:取得したids_B.カラム
:取得したids_D.カラム
・
・);
NEXT
*------------------------------------------------------------*
? Bテーブル、Cテーブル・・・をデータストアに取得
? 1).?で取得したデータストアに対してlds_Aの取得データを条件にfilter()を使用して目的のデータを取得
2).?で取得したデータストアに対してlds_Aの取得データを条件にwhere句を動的に変更
この場合1).がよいのか2).がよいのか、どなたか、アドバイスお願いします。
初心者の私にはループの中で毎回where句を変更するということに時間がかかるのでは・・と抵抗があるのですが・・。
それとも、?ですべてのデータをデータストアに取得すること自体がよくないのでしょうか?
かといって、?で毎回Createするのも・・・。
毎回、まったく初歩的な質問で申し訳ありません。よろしくお願いします。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows98
DBMS Oracle SQL*Net 8
Browser InternetExplorer5.X
Server SoftWare
OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.