PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
4732 | 99/01/24 10:34:46 | RE(2):PB5.0.03: UPDATE関数が発行するSQL文の質問 By potato |
4717 | 99/01/22 12:51:12 | RE(1):PB5.0.03: UPDATE関数が発行するSQL文の質問 By てとらぽっと |
4716 | 99/01/22 11:24:18 | PB5.0.03: UPDATE関数が発行するSQL文の質問 By TAG |
カテゴリ:データベース
日付:1999年01月24日 10:34 発信者:potato
題名:RE(2):PB5.0.03: UPDATE関数が発行するSQL文の質問
>TAGさん、こんにちは。
>
>>データウインドウにて複数の行にたいしてdeleterowをおこなった後、UPDATE関数を実行した場合
>>PowerBuilderは複数のDELETE文を発行するのでしょうか?
>>(例えば100行削除したら100件、DELETE文を発行してしまうのでしょうか?)
>
>その通りです。DWは、変更のあった行の1つ1つに、SQLを発行します。
>
>>(トラフィックの負荷とレスポンスを心配しています。)
>
>100行の更新は結構な手間がかかると思いますが、
>これはユーザーさん(人間)が入力されているのですか?
>それともプログラムの自動処理でしょうか?
>
>わたしの個人的なポリシーですが、
>DWはユーザーのデータ操作に関して、DELETE文、INSERT文など
>自動的に発行してくれるという、開発の便利さのために、
>複数のSQLが発行されるオーバーヘッドは無視しています。
>
>一方プログラムで特に一括処理でやるときは、
>DW(データストア)を使わず、埋め込みSQLを使ったり
>ストアドプロシージャを作ってコールしたりして
>パフォーマンス中心で開発しています。
>そのままSQLが書けるのも PBの特徴ですし。
>
>
100行のデータをDeleteする場合、
100回分のDelete SQL文を発行する以外に方法は
ないと思います。
なぜなら、delete文の1行1行Where句が異なるからです。
これは、PowerBuilderでなくても同じだと思います。
100回delete SQL文を発行しなくてもよい場合というのは
同一Where句でよい場合です。
この場合、てとらぽっとさんがいうように組み込みSQLを
スクリプトから発行すればよいと思います。
また、組み込みSQLを使用し、Delete文のwhere句を工夫すれば、
一回のDelete文で100件分の行を削除するような
ことは論理的には可能だと思いますが、
そのような条件式をWhere句に設定するのは
かなり困難で現実的ではないと思います。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows NT 3.51
DBMS Oracle SQL*Net 2.2
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 7.2
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.