PB 電子会議室

コメント修正

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
5700 99/03/31 15:38:58 RE(13):PB6: ストアドプロシージャについて基本的な事を教えて下さい。 By さかな
4836 99/01/29 09:56:49 RE(12):PB6: ストアドプロシージャについて基本的な事を教えて下さい。 By まー
4833 99/01/28 20:05:40 RE(11):PB6: ストアドプロシージャについて基本的な事を教えて下さい。 By まこと
4832 99/01/28 18:26:51 RE(10):PB6: ストアドプロシージャについて基本的な事を教えて下さい。 By てとらぽっと
4829 99/01/28 17:50:39 RE(9):PB6: ストアドプロシージャについて基本的な事を教えて下さい。 By リエッチ
4821 99/01/28 16:42:13 RE(8):PB6: ストアドプロシージャについて基本的な事を教えて下さい。 By まこと
4820 99/01/28 16:35:32 RE(7):PB6: ストアドプロシージャについて基本的な事を教えて下さい。 By てとらぽっと
4815 99/01/28 15:33:03 RE(6):PB6: ストアドプロシージャについて基本的な事を教えて下さい。 By Kasi
4811 99/01/28 12:36:02 RE(5):PB6: ストアドプロシージャについて基本的な事を教えて下さい。 By GOLF
4809 99/01/28 12:30:24 RE(4):PB6: ストアドプロシージャについて基本的な事を教えて下さい。 By リエッチ
4808 99/01/28 10:07:53 RE(3):PB6: ストアドプロシージャについて基本的な事を教えて下さい。 By まー
4807 99/01/28 09:09:58 RE(2):PB6: ストアドプロシージャについて基本的な事を教えて下さい。 By まこと
4804 99/01/28 00:23:27 RE(1):PB6: ストアドプロシージャについて基本的な事を教えて下さい。 By Taka
4801 99/01/27 21:00:11 PB6: ストアドプロシージャについて基本的な事を教えて下さい。 By まこと

カテゴリ:データベース
日付:1999年01月29日 09:56 発信者:まー
題名:RE(12):PB6: ストアドプロシージャについて基本的な事を教えて下さい。

おはようございます。まーです。

>取り敢えず、プロシージャって特定の行の更新とか、全体を管理する画面等で、多くの行を参照
>したり、複数の処理を行って値を算出するとかいったものに向いてそうですね。
>(”曖昧”な処理(参照、選択 等)に利用できない。)

”曖昧”な処理をどう解釈していいかわかりませんが、
DataWindowにProcedureを使うと検索もできます。

例えば、ある条件によって検索するテーブル(または項目)を変更する必要がある場合、
普通にSQL SELECTをデータソースにしてDataWindowを作ると、ある条件が、テーブル上に関係の
ない条件だとしたら、スクリプト内で条件を判断し、DataWindowのSQL SELECT文を変更するか、
DataWindowのObjectを動的に変更するかのどちらかになると思いますが、Procedureに引数を渡す
用にして、Procedure内で条件を判断し、SELECT文をきるようにすれば、スクリプト内で条件を意識
せずにデータを検索してこれるわけです。
(但し、View、副問い合わせなどを駆使すればSQL SELECTをデータソースにしてもできることも
ありますが。)

具体的な例を挙げたいところですが、今、ちょっと手元に資料がありません。
どなたかフォローして頂ければ幸いです。。。。(姑息装置使用)

GOLFさんへ:
デメリットの件ですが、サーバの負荷はkasiさんの言う通りです。
その他として、
?TransactionObjectのローカル外部関数を使用するとTransactionObjectが肥大化する。
?TransactionObjectのローカル外部関数とDECRER ? FETCHとの呼び方の違いでNULLの扱いが
   違う。
?DWで検索してきた複数行のデータをユーザ入力によって更新する場合、DataWindowのUpdate()
   関数のようなスクリプトを自力で書かなければならない。
?テーブルの項目に変更があったとき、ProcedureをRECOMPILEまたは、修正→CREATEしなければ
  ならない。その際、ローカル外部関数の定義も変更しなければならない場合がある。

など、など細かいことは結構あります。
ただ、全てProcedureにした方がいいとは言えませんが、なかなか便利ですよ。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows NT 4.0
DBMS Oracle SQL*Net 2.3
Browser (記載なし)

Server SoftWare

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

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