検索
連載

ODP.NETのデータアクセス・チューニングODP.NETファーストステップ(3)(3/4 ページ)

Windowsプラットフォームにおけるアプリケーション開発は、.NETが主流となりつつある。本連載はVisual Basicから.NETへの移行を考えているOracleアプリケーション開発者に向けて、「Oracle Data Provider for .NET」を使うメリットや独自機能、新しいプログラミング・スタイルなどを解説する。(編集局)

PC用表示 関連情報
Share
Tweet
LINE
Hatena

PL/SQL配列を利用する方法

 ストアドプロシージャを利用してデータベース・ラウンドトリップを減らす方法として、PL/SQL配列(以前はPL/SQL表と呼ばれていました)を利用する方法があります。例えば以下のようなデータをemployeeテーブルに3行追加したい場合には、Oracleデータベースに対してInsertを3回実行するため、データベース・ラウンドトリップも3回発生します。

employeeid employeename salary
10001 Scott 11000
10002 Billly 12000
10003 Jhon 13000
表1 employeeテーブル

 PL/SQL配列を使用すると、複数の行を1回のデータベース・ラウンドトリップで追加することが可能です。以下にPL/SQL配列の使用方法を説明します。

手順1

 テスト用のテーブルを作成します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

手順2

 PL/SQL配列で1度に書き込みを行うためのパッケージを作成します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

手順3

 ストアドプロシージャにPL/SQL配列を値として渡すコードは以下になります。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 以上のように、OracleParameterオブジェクトのCollectionTypeプロパティをPLSQLAssociativeArrayと指定することにより、プログラムで確保した配列の値をデータベース・サーバのPL/SQL配列に1回のデータベース・ラウンドトリップで渡すことが可能です。(次ページへ続く)

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る