SQL Server ストアドプロシージャの実行結果をテーブルに保存する
例えば、sp_lock ストアドプロシージャなどの実行結果から、見たいデータだけを抽出したいと思ったことはないでしょうか。
ストアドプロシージャを実行して数件しか表示されないのであれば、一目で見つけることができますが、数10件、数100件もデータが表示されるとそうはいきません。
そこで、ストアドプロシージャの実行結果をテーブルに保存し、テーブルを select する方法を紹介します。
1) テーブルを作成する。
ここでは一時テーブルを使いますが、普通のパーマネントテーブルでも構いません。
データタイプは、ストアドプロシージャを実行して得られるデータタイプと合わせる必要があります。
create table #splock(spid int,dbid int,objid int,indid int,type varchar(100),resource varchar(100),mode varchar(100), status varchar(100),checktime datetime default getdate())
2) ストアドプロシージャ sp_lock を実行し、結果をテーブルに保存します。
insert into #splock(spid,dbid,objid,indid,type,resource,mode,status) exec sp_lock
3) テーブルをselectします。
select * from #splock where status ='WAIT'