ホチキス先生の「プログラマーと呼ばれたい」

InfoPath & SQL Server !

SQL Server – ストアドプロシージャの雛形を作成した

leave a comment »

SQL Serverでストアドプロシージャを作成する時間が多くなった。管理のための作業をストアドプロシージャにする作業が多くなったからだ。そこで新しいストアドプロシージャを作るときに、雛形となるものを作ってみた。

このストアドプロシージャでは、引数として「対象」と「年度」を設定している。もちろん引数の意味を変更することや増やすことも可能だ。また処理の履歴を「処理記録」テーブルにストアすることにしている。そのとき、システムから「年度コード」、「日付」、「処理者」を取得し、パラメーターとして一緒にストアしている。これにより処理の履歴を追跡しやすくしている。参考になれば幸いである。

———————————————————————————————————————————-

create procedure ストアドプロシージャ雛形

    @P_対象 as varchar(50),
    @P_年度 as char(2)

as

/*
使い方

<実行例> execute ストアドプロシージャ雛形 ‘男性’,’10’

*/

–処理定数の取得
    declare @今年度 as char(2)
    declare @日付時間 as smalldatetime
    declare @処理者 as varchar(50)

set @今年度 = (select nendo_cd from const_nendo where now_cd = 1)
set @日付時間 = getdate()
set @処理者 = substring(suser_sname(),6,6)

–実際の処理
if @P_対象 = ‘男性’
begin

insert into 処理記録(日付,職員番号,備考)
values (@日付時間,@処理者,’「ストアドプロシージャ雛形」を実行した。引数は、’ + ‘引数1(対象):’ + @P_対象
        + ‘ 引数2(年度):’ + @P_年度 + ‘ 今年度 :’ + @今年度)

end

if @P_対象 = ‘女性’
begin

insert into 処理記録(日付,職員番号,備考)
values (@日付時間,@処理者,’「ストアドプロシージャ雛形」を実行した。引数は、’ + ‘引数1(対象):’ + @P_対象
        + ‘ 引数2(年度):’ + @P_年度 + ‘ 今年度 :’ + @今年度)

end

———————————————————————————————————————————-

Written by Yoshio Matsumoto

2011年7月5日 @ 12:54 AM

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。