‘ストアドプロシージャ’ カテゴリーのアーカイブ
SQL Server – ストアドプロシージャの雛形を作成した
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
———————————————————————————————————————————-


