システムストアドプロシージャsp_spaceusedの実行結果にプログラムでアクセスしようとしています。SQL 2005で複数のレコードセットを返すストアドプロシージャを読み取る出力
は、パラメータとしてオブジェクトの名前を渡す場合には、SPは、問題は、このストアドプロシージャは、パラメータなしで使用した場合は、異なる2返されることをこの
CREATE TABLE #TempTable
( [Table_Name] varchar(50),
Row_Count int,
Table_Size varchar(50),
Data_Space_Used varchar(50),
Index_Space_Used varchar(50),
Unused_Space varchar(50)
)
insert into #TempTable EXEC('sp_spaceused "tablexx"')
select * from #TempTable
Table_Name Row_Count Table_Size Data_Space_Used Index_Space_Used Unused_Space
------------ ----------- ----------- ---------------- ----------------- ------------
tablexx 67 64 KB 16 KB 48 KB 0 KB
(1 row(s) affected)
(1 row(s) affected)
ように読むことができますレコードセットを返します
sp_spaceused
database_name database_size unallocated space
-------------- -------------- ------------------
Convenios 11622.75 MB 3.16 MB
reserved data index_size unused
------------- ------------- ----------- ---------
11897696 KB 11784392 KB 103264 KB 10040 KB
私はちょうど変数にDATABASE_SIZEを取得したい...だから実際には問題はプログラムで複数のレコードセットを返すストアドプロシージャによって返されたデータにアクセスする方法です...
:このようなレコードセット、どうすればいいですか?
私は質問がSQLだけを扱うと思う。つまり、別のSQLコードスニペットから2番目の結果セットを取得します。それは.NETのタグが付いていません。 –
ええ、Mehrdadは正しいです... – opensas