"ListOfName"というテーブルタイプのパラメータを作成し、そのタイプのパラメータを自分のプロシージャに設定してみます。しかし被ったエラー:テーブルタイプパラメータを定義する
は "@Table_Name_List"
をスカラー変数を宣言する必要がありますが、私は定義チャンクの前に文を追加する場合、私は
CREATE TYPE ListOfName AS TABLE (Table_Name nvarchar(50));
CREATE PROCEDURE spTest
@Table_Name_List ListOfName READONLY
AS
SELECT * from dbo.Table_Size_Daily
WHERE Table_NAME IN (@Table_Name_List)
Go
を宣言し、
DECLARE @Table_Name_List AS ListOfName;
エラーは:
変数名 '@Table_Name_List'はすでに宣言されています。 変数名は、クエリバッチ内で一意であるか、または プロシージャに格納されている必要があります。
どうすれば修正できますか?ありがとうございます
'@ Table_Name_List'はテーブル型で、' where'で渡すパラメータではありません。 – techspider
研究[この記事](https://msdn.microsoft.com/en-us/library/bb675163(v=vs/) 110).aspx)テーブルタイプの使用方法について – techspider
クイックフィックス: 'WHERE Table_name IN(SELECT Table_Name FROM @Table_Name_List) ' – techspider