次のコードを実行しようとするとエラーが発生します。同様の解決策を探しましたが、わかりません。
DECLARE @TAB_COL_NAME TABLE(idx int identity(1,1), COLUMNNAME VARCHAR(MAX))
DECLARE @TEMPLATE_NAME NVARCHAR(50)
SET @TEMPLATE_NAME = 'MYTABLE1'
INSERT INTO @TAB_COL_NAME EXEC('SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '+@TEMPLATE_NAME)
sp_executesql,
使ってみようという声が多かったので試してみましたがsp_executesql
、
DECLARE @SQL NVARCHAR(100)
DECLARE @TEMPLATE_NAM NVARCHAR(50)
SET @TEMPLATE_NAM = 'MYTABLE1'
SET @SQL = N'SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '+ '@TEMPLATE_NAME'
EXEC sp_executesql @SQL,
'@TEMPLATE_NAME Nvarchar(50)',
@TEMPLATE_NAME = @TEMPLATE_NAM
そして、これはエラーを出します:Procedure expects parameter '@parameters' of type 'ntext/nchar/nvarchar'.
これに対する正しい解決策は何ですか?
私はこれを達成できませんEXEC SQL
か?
いくつかの返信が役に立ちます。