2009年12月4日金曜日

Windows Power Shellから、ストアドプロシージャを使用する方法



Windows Power Shellですが、普通にSQL-Serverのストアドプロシージャを呼び出す事も出来るんですよね!!

ストアドプロシージャというのは、ありていに言ってしまうと、SQL-Server上で動くプログラムです。
プログラムといっても、普通のプログラム言語ではなくて、SQLというデータベース専用の命令を使うのですが、ちゃんとマイクロソフト独自の拡張によって、繰り返し命令や条件分岐も用意されているんですよね。SQL-Server上で使うSQLは、「Microsoft Transact SQL」(トランザクトエスキューエル)という名前がついているんですが、バリバリに使いこなしている方でも、名前は知らない(興味ない)パターンがあったりしますね。意外と。

ちなみに、SQLは、嫌でも数学の「集合」の知識が必要になります。私の学生時代はそんなもの何の役に立つのか理解不能で右から左に受け流してましたけど・・・。

さて、話をWindows Power Shellに戻します。

ストアドプロシージャを呼び出すには、Data.SqlClient.SqlCommandクラスを使います(System.は省略可能)。

.NET Frameworkはクラス名が長いのでタイプが大変ですね。
Windows PowerShell ISEを使って入力しても、まだVisual Studioのような入力支援は受けられないですし。でも、こればっかりはしょうがないですねー。

とは言え、Data.SqlClient.SqlDataAdapterクラス、Data.DataSetクラス、Data.DataTableなど、長いクラス名のオンパレードですけれど、変に省略した名前でないのが逆に良いかも。
読めばなんとなく何をやるクラスなのか、意味がつかめるし。

それにつけても、Windows Power Shellは、このように、ストアドプロシージャが自由に呼び出せてしまうんですよね。
うーむ。つくづく・・・。