0

このクエリでは:

DECLARE @TempPerformance TABLE(FeatureTitle VARCHAR(50), FeatureText VARCHAR(50))

INSERT INTO @TempPerformance 
EXEC [usp_GetPerfomance] @Value

2 つの列を与えることもあれば、1 つの列のみを与えることもあります。一時テーブルはそのように設計されていないため、1 つの列のみを返す場合は機能しません。

これら 2 つの結果をどのように区別できますか。

編集

SP が失敗した場合は、次のように 1 列 - 1 行を返します。

Standard
--------
No Records Found
4

2 に答える 2

0

OPENROWSETを使用してクエリを実行し、結果をテーブルとして取得できます。次に、そのテーブルを使用して、どちらの方法で処理する必要があるかを確認できます。

リンクに移動してセクションを見ると:

SELECT a.*
FROM OPENROWSET('SQLNCLI', 'Server=Seattle1;Trusted_Connection=yes;',
     'SELECT GroupName, Name, DepartmentID
      FROM AdventureWorks.HumanResources.Department
      ORDER BY GroupName, Name') AS a;

次に、SELECT を EXEC yourDatabase.Schema.Procedure に置き換えることができます。

ただし、サーバーをアドホック クエリに再構成する必要があり、それを行うための適切な権限がない可能性があります。通常、これは実稼働環境向けの確実なソリューションではないため、個人的にはこの方法をお勧めしません。

于 2013-10-23T10:58:54.217 に答える