2017-01-12 14 views
0

ストアドプロシージャが呼び出される方法を検索しようとしています。複数回呼び出すときにストアドプロシージャが実行されない

私の問題は、アプリケーションからレコードを削除するときに、ストアドプロシージャを呼び出して、単一のレコードで正常に動作することです。同時に複数のレコードを選択しているときに、プログラムは@の近くに無効な構文があるというエラーを投げます。私はストアドプロシージャを書き直す必要があるかどうか、またはSPで宣言された変数を認識できないアプリケーションかどうかを調べようとしています。

SPコード:

alter procedure [dbo].[storedprocedure] 

@Variable int 
AS 
BEGIN 

    SET NOCOUNT ON; 
    --DML Statement-- 

END 

私はブロック内で変数を宣言含めることを試みたが、それはそれが変数を見つけることができないと言って実行に失敗しました。それが書かれている方法は、単一のレコードのために働く。私はそれが同時に複数のレコードのために働く必要があります。

+0

@variableにint値を2つ以上割り当てることはできません。 – dfundako

答えて

2

同時に複数のレコードを選択しながら、プログラムはおそらくあなたが複数のレコードを選択し、それらを削除しようとする場合は、@Variable intひいてはを言っスカラー変数を定義している原因だ エラー

をスローしますあなたのスカラー変数はそれらを保持することができません。おそらく、代わりにTable Type variableまたはTemporary Tableを使用することを検討する必要があります。

+0

ありがとう!どのように私はこのコンテキストで一時テーブルを使用できますか?あなたは私に例を教えてくれますか? – user7396033

関連する問題