SQL Server ストアドプロシージャの実行結果をテーブルに保存する | WEBエンジニア社長のブログ

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'




WEBエンジニア社長のタグクラウド

SQL Server    Management    リーダーシップ    Human    スタイルシート    マーケティング    ツイッター
   ASP    IT