私はこのようなストアドプロシージャを持っています。テーブル変数(動的クエリ)を宣言する必要があります
ALTER PROCEDURE [dbo].[storedProc_dataPull]
@serverName nvarchar(30),
@dbName nvarchar(30),
@tblName nvarchar(30),
@schemaName nvarchar (30),
@userID nvarchar (30),
@password nvarchar (30),
@sampleTbl nvarchar (30)
AS
BEGIN
DECLARE @schemaAndTbl nvarchar (39)
SET @schemaAndTbl = @dbName + '.' + @schemaName + '.' [email protected]
EXEC('INSERT INTO @sampleTbl
([ID]
,[ActivityDefinitionID]
,[ParentID]
,[Caption]
,[Description]
,[ShortDescription]
,[Name]
,[Order]
,[ReferenceNumber]
,[ShowOnNavigation]
,[Status]
,[InUseBy]
,[ExpectedStartDate]
,[ActualStartDate]
,[ExpectedEndDate]
SELECT *
FROM OPENDATASOURCE(''SQLOLEDB'',''Data Source=' + @serverName+ ';User ID='[email protected]+';Password=' [email protected]+''').'[email protected]+' sdb1')
UPDATE @sampleTbl
SET ServerName = ''[email protected]+'', DBName = ''[email protected]+''
WHERE ServerName IS NULL AND DBName IS NULL
END
私が実行しようとしている、私は常にエラーを取得:
Must declare the table variable
私の次の問題は、同様に、パラメータとして列名を渡すことです。
SQL Serverでも可能ですか?私は自分のアプリケーションのために動的ストアドプロシージャを作成したいだけです。