PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
7189 | 99/07/19 10:05:16 | RE(2):PB5.0.02: タブラ形式のDWにおけるデータ重複チェック -> Find関数で By kagi |
7176 | 99/07/16 15:21:59 | RE(1):PB5.0.02: タブラ形式のDWにおけるデータ重複チェック -> Find関数で By Taka |
7175 | 99/07/16 14:25:11 | PB5.0.02: タブラ形式のDWにおけるデータ重複チェック方法について By kagi |
カテゴリ:スクリプトの記述
日付:1999年07月16日 15:21 発信者:Taka
題名:RE(1):PB5.0.02: タブラ形式のDWにおけるデータ重複チェック -> Find関数で
kagiさん、こんにちは。
>タブラ形式のDWで、表示されているレコードの重複チェック方法で悩んでいます。
>現在、表示されている先頭のレコードから順番に他のレコードとLoop文を用いて
>重複チェックを行っていますが、処理速度がデータ件数に依存する為、レコード
>件数が多い場合、かなり処理が遅くなってしまいます。
>
>処理速度を速する方法を知っている方がいましたら教えて下さい!!
「処理速度を速する」というよりは、ロジックの問題だと思います。
マルチライン形式の入力において、他の行で同じ値があるかどうかをチェックするには、
Find関数を使うと良いです。この関数は、バッファの中から指定した条件式に該当する行番号を返します。
(パフォーマンスも早いです)
なお、自分の行はチェックしなくて良い場合なら、Find関数を2回実行する必要があるので注意しましょう。
1回目…最初?現在の行?1までを検索
2回目…現在の行+1?最後までを検索
チェックしたい行が先頭行もしくは最終行でしたら、1回だけで済みます。
※ 条件式の中に、「現在の行以外」というのが書ければ良いのですが・・・
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows NT 4.0
DBMS Oracle SQL*Net 2.3
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 7.3
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.