連載
» 2007年10月29日 00時00分 公開

さらっと覚えるSQL&T-SQL入門(9):Transact-SQLでストアドプロシージャを作成する (2/2)

[石橋潤一,株式会社システムインテグレータ]
前のページへ 1|2       

ストアドプロシージャの更新

 続いて、登録したストアドプロシージャの内容を書き換えてみましょう。CREATE PROCEDURE文によって登録したストアドプロシージャの内容を書き換えるには、ALTER PROCEDURE文を利用します。先ほどのストアドプロシージャは製品IDをパラメータとして渡していましたが、これを変更し製品名を渡すようにしてみましょう。ALTER PROCEDURE文の内容は次のとおりです。

ALTER PROCEDURE uspSamle1
  @Name nvarchar(50)
AS
  SELECT ProductID, Name, ListPrice
    FROM Production.Product
    WHERE Name = @Name

 こちらのストアドプロシージャでは、「NAME」列の値とパラメータを比較しています。「NAME」列はnvarchar(50)と定義されているので、パラメータの定義も合わせておきます。ALTER PROCEDURE文の発行が無事に完了したら、その動作を確認しましょう。

EXEC uspSamle1 'Chain'
 
実行結果
ProductID       Name         ListPrice
952             Chain        20.24

 パラメータが文字列である場合は、シングルコーテーションで文字を囲む必要がある点に注意してください。

Management Studioから確認する

 SQL Serverに登録したストアドプロシージャはManagement Studioからその存在を確認できます。

 Management Studio上の「オブジェクトエクスプローラ」よりAdventureWorksツリーを展開し、「プログラミング」−「ストアドプロシージャ」で登録したストアドプロシージャを確認できます(図2)。

図2 Management Studioからの確認 図2 Management Studioからの確認

 Management Studioよりダイアログを利用したストアドプロシージャの実行を行うことも可能です。対象のストアドプロシージャを右クリックし、「ストアドプロシージャの実行」より「プロシージャの実行」ダイアログを表示させます(図3)。このダイアログ上から、実行対象のストアドプロシージャの定義、引数となるパラメータの定義などを行うことが可能です。

図3 Management Studioからストアドプロシージャの実行 図3 Management Studioからストアドプロシージャの実行画面をクリックすると拡大します

 ダイアログの入力に従いプロシージャを実行するための各種EXECUTE文などが自動生成されます。

ストアドプロシージャを削除する

 ストアドプロシージャの新規作成、更新と確認したので、残るストアドプロシージャの削除についても確認しておきましょう。ストアドプロシージャの削除を行うための構文は次のとおりです。

DROP PROCEDURE プロシージャ名


 早速ストアドプロシージャを削除できるか確認してみましょう。

DROP PROCEDURE uspSamle1
 
実行結果
コマンドは正常に完了しました。

 DROP PROCEDURE文の発行後、対象のストアドプロシージャの呼び出しを行おうとするとエラーが発生します。

まとめ

 今回はストアドプロシージャの基本を取り上げました。その概念や、パラメータとその実行結果などについて、実際にストアドプロシージャを作成・実行しながらその動作を確認していきましょう。今回はSELECT文を発行するだけの内容であったため、まだまだ物足りない方も多いと思います。


次回は条件分岐の利用や、戻り値の取得などを取り上げる予定です。お楽しみに!(次回へ続く)

筆者プロフィール

石橋潤一
株式会社システムインテグレータ勤務。Web+DBの業務アプリをメインに開発に携わる。@IT連載記事「SQL Server 2005を使いこなそう」「SQL Server 2005 CTPレビュー」執筆のほか、著書に『DBマガジン別冊 SQL Server 2005徹底活用ガイド』(翔泳社刊/共著)、『ASP.NET+SQL Server ゼロからはじめるWebアプリケーション』(ソフトバンクパブリッシング刊/共著)。



前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。