一度に3つのテーブルを動的に挿入するために使用しているこのSQLコードがあります。実行しようとすると、このメッセージが表示されます
メッセージ 137、レベル 16、状態 1、手順 InsertData、行 28 スカラー変数「@RECEIVABLESDATA」を宣言する必要があります。
何か案は?
USE [PantaRei]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[InsertData]
@RECEIVABLESDATA RECEIVABLESTABLE READONLY,
@DILUTIONSDATA DILUTIONSTABLE READONLY,
@ACCOUNTABLESDATA ACCOUNTABLESTABLE READONLY,
@TABLE1 VARCHAR(MAX),
@TABLE2 VARCHAR(MAX),
@TABLE3 VARCHAR(MAX)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
DECLARE @CMD nvarchar(345)
SET NOCOUNT ON;
SET @TABLE1 = RTRIM(@TABLE1)
SET @TABLE2 = RTRIM(@TABLE2)
SET @TABLE3 = RTRIM(@TABLE3)
SET @CMD =
'INSERT INTO ' + QUOTENAME(@TABLE1) +
'SELECT * FROM [DBO].' + QUOTENAME(@RECEIVABLESDATA)
EXECUTE sp_executesql @CMD
SET @CMD =
'INSERT INTO ' + QUOTENAME(@TABLE2) +
'SELECT * FROM [DBO].' + QUOTENAME(@DILUTIONSDATA)
EXECUTE sp_executesql @CMD
SET @CMD =
'INSERT INTO '+ QUOTENAME(@TABLE3) +
'SELECT * FROM [DBO].' + QUOTENAME(@ACCOUNTABLESDATA)
END