ODTからストアドプロシージャを作成するには、Oracleエクスプローラ上で[プロシージャ]を右クリックし[新規PL/SQLプロシージャ]を選択します(図9)。
[新規PL/SQLプロシージャ]ダイアログが表示されたら、[プロシージャ名]を「REGISTDOZE」、[パラメータ]を表2のように設定します(図10)。
名前 | 方向 | データ型 |
---|---|---|
ID | IN | NUMBER |
表2 プロシージャのパラメータ設定 |
[OK]を押下し、表示された編集ウィンドウにリスト1のPL/SQLを入力します。これはDOZE表にSELECT文を実行し、テーブルに登録がなければINSERT、すでに登録済みならUPDATEを行う単純なストアドプロシージャです。
PROCEDURE "SCOTT"."REGISTDOZE" ( |
リスト1 居眠り回数を登録/更新ストアドプロシージャ |
なお、Oracleオブジェクトに対してもIntelliSenseが利用可能です。例えば「SCOTT.」と入力するとSCOTTスキーマにあるオブジェクトがポップアップ表示されます(図11)。
デバッグを行うために、SCOTTユーザーにデバッグ権限を付与します。SCOTTユーザーと同様にSYSユーザーに対する接続を作成し、右クリックから[問合せウィンドウ]を選択します(図12)。
表示された[問合せウィンドウ]にリスト2の2行を入力し、右下の[実行]をクリックします。
GRANT DEBUG CONNECT SESSION TO SCOTT;
|
リスト2 SCOTTユーザーにデバッグ権限を付与 |
次に、先ほど作成したストアドプロシージャをデバッグコンパイルし、デバッグ可能な状態にします。プロシージャのREGISTDOZEを右クリックし[コンパイル・デバッグ]を選択します。コンパイルが成功するとREGISTDOZEのアイコンが変化します(図13)。
デバッグコンパイルしたREGISTDOZEにブレークポイントを設定します。INSERT文の左枠部分をクリック、またはF9キーを押してブレークポイントを設定します(図14)。
REGISTDOZEを右クリックし、[デバッグの実行]を選択するとパラメータの入力画面が表示されますので、ALLENの社員番号「7499」を入力します(図15)。
[OK]を押すとデバッグが開始され、先ほど設定したブレークポイントで止まります。F11キーでステップ実行し、INSERT文が実行されることを確認します(図16)。
実行後、DOZEテーブルのデータを表示させると正常に登録されていることが確認できます(図17)。
Copyright © ITmedia, Inc. All Rights Reserved.