CodeZine(コードジン)

特集ページ一覧

フリーレイアウトグリッドを使った業務アプリケーションの作成

第1回 導入準備から検索画面作成まで

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2008/08/22 11:00
目次

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

  • LINEで送る
  • このエントリーをはてなブックマークに追加

あなたにオススメ

著者プロフィール

  • 瀬戸 遥(セト ハルカ)

    8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...

バックナンバー

連載:フリーレイアウトグリッドで業務アプリケーションを作成する
All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5