同じ情報を返す次の2つのクエリがあります。動的クエリ:SQL Serverでテーブル名やその他の文字列を定義する方法
@TABLENAMEという名前の変数があるため、通常のクエリと結果を取得しない動的クエリがあります。どんな結果
DECLARE @sql as nvarchar(max)
set @sql = 'select * from jfa.[dbo].[MyTable]
INNER JOIN INFORMATION_SCHEMA.COLUMNS on INFORMATION_SCHEMA.COLUMNS.TABLE_NAME = ''@TableName'' and INFORMATION_SCHEMA.COLUMNS.ORDINAL_POSITION = 2'
exec sp_executeSQL @sql,
N'@TABLENAME nvarchar',
@TABLENAME
を返さない
DECLARE @TABLENAME as NVARCHAR (MAX)
SET @TABLENAME = 'MyTable'
クエリの結果の戻し
select * from jfa.[dbo].[MyTable]
INNER JOIN INFORMATION_SCHEMA.COLUMNS on INFORMATION_SCHEMA.COLUMNS.TABLE_NAME = @TableName and INFORMATION_SCHEMA.COLUMNS.ORDINAL_POSITION = 2
動的問合せは、私は問題は次の行にある推測:
on INFORMATION_SCHEMA.COLUMNS.TABLE_NAME = ''@TableName''
しかし、私はいくつかのことを試みた成功していない。事前に
多くのおかげで、
キャット
の可能な複製を(https://stackoverflow.com/questions/40233532/how-to-write -select-query-with-stored-procedure-with-stored-procedure) –