.net column

.NET開発者のためのブログメディア
データ処理

ADO.NETでストアドプロシージャを呼び出す方法

2020年04月09日

ストアドプロシージャとは、データベースに対する一連の処理をまとめたプログラムで戻り値のないものを指します。ADO.NETにおいて、データベースにアクセスするストアドプロシージャには複数の方法があり、目的に応じて変更していくのが望ましいです。

SE
ADO.NETでストアドプロシージャを使う方法はありますか?
PL
いくつか方法があるので、パターンごとに見ていきましょうか。

ストアドプロシージャの概要

プロシージャとは戻り値のないプログラムという解釈が一般的で、ストアドプロシージャは特にデータベースへアクセスするプログラムで戻り値のないものになります。データベースへのアクセス方法としては、他にSQL文をコード上に直接入力する方法がありますが、ストアドプロシージャはデータアクセスするためのロジックを管理しやすいのが利点です。

ストアドプロシージャを利用する欠点

ストアドプロシージャを利用する際には、T-SQL、PL/SQLなどの言語を習得する必要があります。現在、これらの言語を使ってSQL処理を行える開発者が少ない傾向にあるようです。直接SQLを入力していく方法ではこのような欠点がない分、コードのどの位置にSQLの記述があるのかが分かりづらくなります。

ストアドプロシージャの呼び出しと戻り値の取得

ストアドプロシージャそのものは戻り値を返さないプログラムですが、プロシージャの実行に伴ってデータベースから結果セットを返す処理が実行され、実行したSQLに応じたデータを送ってきます。以下は、簡単なストアドプロシージャの実行例です。

上記により定義したストアドプロシージャは、「EXEC ストアドプロシージャ名」で実行させることができます。

SE
SQLの管理は楽そうですが、言語の習得が大変ですね。
PL
データベース用の言語を使える人は少ない傾向にあるので、覚えると重宝されますよ。勉強すると良いでしょう。

ストアドプロシージャを使いこなそう

ADO.NETでストアドプロシージャを利用する方法では、規模の大きいコードになるほど煩雑になりがちなSQL文の管理がしやすいというメリットがあります。その分、覚えなければならないことも増えますが、後々のメンテナンス作業においては、ストアドプロシージャを使った方が有利になるでしょう。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)