2012-02-10 8 views
1

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のパフォーマンスを調べようとしているため、クエリウィンドウでデータが返されない理由がわかりません。

+0

次の2つを使用してパラメータを命名しているのはなぜ'@@'サインは?これは通常、組み込み関数(例えば、@@ IDENTITY)を示します。あなたの変数とパラメータは、単一の '@'記号IMHOで定義する必要があります。また、なぜ 'SET NOCOUNT OFF'に気をつけますか?あなたのアプリは、完了したprocメッセージ( '' n rows(s)affected'など)に頼っていますか? –

+0

これは私のコードではない私はそれを使用している問題をトレースしようとしているアプリから見ています... – AwkwardCoder

答えて

2

どこかにRETURN文があり、そうであってもよいし、SPのあなたの完全なコードをチェック - SPは(IF SomeContition IS TRUE RETURN上の注意を払って)任意のデータを返しません。

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... 

    IF SomeContition IS TRUE RETURN 

    SET NOCOUNT OFF 

    -- Return the result 
    SELECT AssemblyId, Namespace, ParameterName, [Value] 
     FROM @ResultTable 

    RETURN 
+0

ありがとう、私はSPのリターンコードに興味がない、私はデータに興味があります。 .. – AwkwardCoder

+0

回答を更新しています。 –

+0

正しいデータが返されていませんでした... – AwkwardCoder

関連する問題