ダウンロード サンプルファイル(C#) (268.1 KB)
ダウンロード サンプルファイル(VB.NET) (186.0 KB)
SQLServer のストアドプロシージャについて
Oralce や PostgreSQL などのデータベースシステムでは、テーブル型のデータを返すプロシージャを作るときは、Typeを作らなければいけません。
しかし、SQL Server は型を宣言する必要がありません。これにより、他のデータベースのストアドプロシージャに比べ非常に変更に強くなります。
--
-- 得意先を検索します。
-- 引数:@得意先名
--
CREATE PROCEDURE pr得意先検索
(@得意先名 varchar(100))
AS
SET NOCOUNT ON
-- 名称に一致する得意先を抽出し、結果のレコードを返します。
SELECT
得意先ID,
得意先名,
郵便番号,
住所,
電話番号,
FAX
FROM
得意先マスタ
WHERE
得意先名 LIKE @得意先名
RETURN
GO
実行時は、
exec pr得意先検索('山田%') ※1
とすれば、これは
SELECT
得意先ID,
得意先名,
郵便番号,
住所,
電話番号,
FAX
FROM
得意先マスタ
WHERE
得意先名 LIKE '山田%' ※2
と等価のSQLとして実行できます。
無償のSQL Server 2005 Express Editionが利用できるため、初期段階から顧客環境にテスト導入でき、モックアップでのデモを行うのにも非常に適しています。具体的な内容は、今後の連載を通してお伝えしていきたいと思います。
さて、山下課長は以上のように上田君に説明しました。
上田君は、ストアドプロシージャが難しいものだと感じる前に、書き方が違う程度という印象を持つことができました。
また山下課長は、データについては以下のような SQL を、新人教育で習ったExcel VBAを使ったマクロで生成し、テーブルの代わりにストアドプロシージャを利用するように上田君に指示しました。
CREATE VIEW vi得意先マスタ AS SELECT 100001 AS 得意先ID, '得意先1' AS 得意先名 UNION SELECT 100002 AS 得意先ID, '得意先2' AS 得意先名 UNION SELECT 100003 AS 得意先ID, '得意先3' AS 得意先名 UNION SELECT 100004 AS 得意先ID, '得意先4' AS 得意先名 GO
この記事は参考になりましたか?
- フリーレイアウトグリッドで業務アプリケーションを作成する連載記事一覧
-
- フリーレイアウトグリッドを使った 業務アプリケーションの作成 2 - 受注画面の作成
- フリーレイアウトグリッドを使った業務アプリケーションの作成
- この記事の著者
-
瀬戸 遥(セト ハルカ)
8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア
