2017-09-28 8 views
2

ストアドプロシージャを実行しようとしましたが、問題があります。ストアドプロシージャPFパラメータのSQLのトラブルシューティング

一つは、そのように定義されています

@MerchId [dbo].[intArray] READONLY, 

そしてそれは、ユーザー定義テーブル型です。ここで

CREATE TYPE [dbo].[intArray] AS TABLE ([num] [int] NULL) 

は、私は値を設定し、実行しようとする方法である:ここで

は、上記の型の定義である

exec @return_value = [dbo].[SPMerchData], 
     @MerchId = [1,2,3] 

しかし、私は、構文エラーが発生します。

どのように私は@MerchId変数にストアドプロシージャを実行する値を設定できますか?

+0

'[DBO] [intArray]'私はアイデアだったと思い – TheGameiswar

+0

をREPROするため、最小限の例を作成..please。 [1,2,3]を渡すことができますが、これはSQL Serverがテーブル/配列として認識しないため動作しません。詳細は私の答えを見てください。 – Tyron78

答えて

5

あなたは変数を宣言して、手順にそれを渡す必要があります:あなたが渡している

DECLARE @t intArray; 
INSERT INTO @t VALUES (1), (2), (3); 

exec @return_value = [dbo].[SPMerchData], 
     @MerchId = @t 
関連する問題