Management Studioでストアドプロシージャを実行して結果セットのデータ型を取得する方法はありますか?私はsp_helpにテーブル名を渡すときの機能のようなものを探していますストアドプロシージャを実行した後のデータ型の指定方法は?
3
A
答えて
0
syscommentsを解析せずにどこからクエリしているのか簡単に知ることはできません。 SPを編集してXMLを選択できる場合は、XML_INFOをクエリに追加してスキーマを元に戻すことができます。
1
ADO、ADO.NET、ODBCなどでストアドプロシージャを呼び出すと、タイプを調べることができます。結果のレコードセットには、探しているタイプ情報があります。本当にManagement Studioに制限されていますか?
-1
いつも一意になるように実際のテーブルを使用することができます。それはクルージングですが、オプションです。しかし、これはストアドプロシージャ内では機能しません。
if exists (select * from sys.tables where name = 'tmp_TableName')
drop table tmp_TableName
go
select * into tmp_TableName from MyTable
--do some stuff
go
if exists (select * from sys.tables where name = 'tmp_TableName')
drop table tmp_TableName
go
0
実は、あなたがSPの中からそれを行うことができます。
EXEC ('if exists (select * from sys.tables where name = ''tmp_TableName'') drop table tmp_TableName')
EXEC ('select * into tmp_TableName from MyTable')
-- Grab the column types from INFORMATION_SCHEMA here
EXEC ('if exists (select * from sys.tables where name = ''tmp_TableName'') drop table tmp_TableName')
が、私はより良い方法がなければならないと思います。
0
それは最もエレガントな解決策ではないのですが、あなたはそれの説明を取得するには、sp_helpを使用し、その後、テーブルにストアドプロシージャの結果を置くためにOPENROWSETを使用することができます。
例えば
select * into tmp_Results
from openrowset('SQLOLEDB.1'
, 'Server=your_server_name;Trusted_Connection=yes;'
, 'exec your_stored_proc')
exec sp_help 'tmp_Results'
drop table tmp_Results
1
あなたの最善の策は、関数に、ストアドプロシージャを変更することであろう。しかし、それはあなたの環境がそれを許す場合にのみ機能します。
関連する問題
- 1. JSON解析のデータ型を指定する方法は?
- 2. Angular 4+でRactiveFormのデータ型を指定する方法は?
- 3. Standard-MLのデータ型で型制約を指定する方法は?
- 4. Displaytag:列データ型を「テキスト」として指定する方法
- 5. pySparkでcreateOrReplaceTempViewを実行した後に列のデータ型を維持する方法は?
- 6. 指定された時間プログラムを実行する方法は?
- 7. ファクトリオブジェクトの型を指定する方法
- 8. プログラムを実行した後に対話型インタプリタをPythonに残す方法は?
- 9. NumPyで算術演算の結果のデータ型を指定する方法は?
- 10. 出力実行ファイルの名前を指定する方法は?
- 11. 型指定されたデータセットは、実行時にリフレクションを使用しますか?
- 12. ジェネリック医薬品の型指定方法
- 13. データ型を指定してNAsを処理する最良の方法
- 14. ストアドプロシージャのWHERE句でデータ型を使用する方法
- 15. SQL Server 2008のストアドプロシージャでntext型データを操作する方法
- 16. データ型の長さを指定する
- 17. データの最後の行で終了する終了行指定
- 18. BST:キーを指定した後継キーの検索方法
- 19. 強い型指定のデータセットにデータを挿入する方法は?
- 20. バッチでストアドプロシージャを実行する方法
- 21. ストアドプロシージャを1000回実行する方法
- 22. OOでのデータ型の指定Haskell
- 23. ノードfileName.jsコマンドを実行した後、端末の実行に戻る方法は?
- 24. Dartで実行時の型チェックを実行する方法は?
- 25. データ型の構築に関するチェックの実行方法
- 26. Reflection.Emitで作成した型の名前空間を指定する方法は?
- 27. Azure Automationを使用してストアドプロシージャを実行する方法は?
- 28. NHibernate 3は、loquacious構文のSQLデータ型を指定します
- 29. Mefは、実行時に指定されたインタフェースを実装するすべての型をインポートします。
- 30. ストアドプロシージャの実行時に "データ型nvarcharをbigintに変換中にエラーが発生しました"