PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
2094 98/06/25 20:52:50 RE:RE:RE:New!はInsertでは? By あすかちゃんの父
2091 98/06/25 19:51:33 RE:RE:New!はInsertでは? By manabu
2090 98/06/25 19:51:22 RE:RE:New!はInsertでは? By manabu
2077 98/06/25 14:10:44 RE:New!はInsertでは? By あすかちゃんの父
2074 98/06/25 13:44:52 妥協策で一応、対処しました。 重複キーに対する上書き方法を教えて下さい。 By まこと
2064 98/06/25 11:08:56 作業用のテーブルに入れると、検索が楽です By てとらぽっと
2052 98/06/24 21:16:46 RE:RE:PB6: 動的に作成したDWにImportしたデータに対して、主キーのデータを条件にした検索をしたい。 By まこと
2039 98/06/24 17:25:59 RE:PB6: 動的に作成したDWにImportしたデータに対して、主キーのデータを条件にした検索をしたい。 By manabu
2037 98/06/24 16:26:11 PB6: 動的に作成したDWにImportしたデータに対して、主キーのデータを条件にした検索をしたい。 By まこと

カテゴリ:旧電子会議室
日付:1998年06月24日 17:25 発信者:manabu
題名:RE:PB6: 動的に作成したDWにImportしたデータに対して、主キーのデータを条件にした検索をしたい。

こんにちは、manabu です。(^^)

開発するアプリケーションの詳細を知っているわけではないので、
妥当かどうかなんてのはわかりませんが...

A.全件検索しておいて、そこから探す。
 1.同じデータウィンドウをもう一つ作成する。
 2.1で作成したデータウィンドウでデータを全件検索する。
 3.インポートしたデータウィンドウの主キー値を、
  1で作成したデータウィンドウのデータからFind()する。(フィルタをかける方法もあります)
 4.インポートデータ分、3を繰り返す。

B.とにかく更新してみる。
 1.Update()で更新する。
 2.重複エラーが起こった場合は、エラーの起こった行をNew!に変更する。
 3.Update()が成功するまで1と2を繰り返す。
 4.Update()が成功しても、COMMITしない

Aはまことさんの考えている方法の改良です。
いちいちSQLを作成しないで、全部持ってきておくと...
# かなり安易ですね。データ量が多いと使い物にならないでしょう。(^^;)

Bは考え方を変えています。
「更新してみて、重複エラーが起こった行の主キー値は使用済み。」
という判定です。

ただ、主キーが重複しているかどうかを前もって調べることは、
シングルレコードならまだしも、マルチレコードを対象にしているときは、
あまり、現実的・実用的ではないような気がします。
# まず、調べるのにかなり時間がかかるし...
#「3000件のインポートデータのうち2999件が重複してたらどうするの?」
# とかね。

ではでは。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS (記載なし)
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.