t-sql(SQL Server 2008)からSPを実行してデバッグしようとしていますが、次のSQLを実行すると 'Command(s)completed successfully' 。ストアドプロシージャからデータを取得する方法
SPが@RETURN_VALUEパラメータを使用してテーブルのデータを返すことがわかっていますが、これをSQLクエリウィンドウに表示する方法を教えてください。
CREATE PROCEDURE [dbo].[GetMetaData]
@@Assembly Sql_Variant = NULL,
@@Namespace Varchar(30) = NULL,
@@ParameterName Varchar(40) = NULL,
@@Standard Bit = 0,
@@Timestamp DateTime = NULL
AS
SET NOCOUNT ON
DECLARE @ResultTable TABLE (AssemblyId Int, Namespace Varchar(30), ParameterName Varchar(40), Value Varchar(100))
-- Does loads of stuff and then inserts into @ResultTable table...
SET NOCOUNT OFF
-- Return the result
SELECT AssemblyId, Namespace, ParameterName, [Value]
FROM @ResultTable
RETURN
注:
exec STARMS.dbo.GetMetaData @@Assembly=13366,@@Namespace=NULL,@@ParameterName=NULL,@@Standard=0,@@Timestamp=NULL
SPはこのような何か興味深い部分は、一時テーブルを作成し、その後、一時テーブルの内容を返す(本体取り外しを)見える理由をSQL Server 2008でSPのパフォーマンスを調べようとしているため、クエリウィンドウでデータが返されない理由がわかりません。
次の2つを使用してパラメータを命名しているのはなぜ'@@'サインは?これは通常、組み込み関数(例えば、@@ IDENTITY)を示します。あなたの変数とパラメータは、単一の '@'記号IMHOで定義する必要があります。また、なぜ 'SET NOCOUNT OFF'に気をつけますか?あなたのアプリは、完了したprocメッセージ( '' n rows(s)affected'など)に頼っていますか? –
これは私のコードではない私はそれを使用している問題をトレースしようとしているアプリから見ています... – AwkwardCoder