変数として列名とテーブル名を入力することについてthis postを読んでいます。 大括弧で囲まれた列名とテーブル名が必要です。私は何人かの人々がこれを行う見た:SQL Serverで角括弧をエスケープする
@sql = 'SELECT [' + @column_name + '] FROM ...'
私は次のように変数に角括弧を入れてみました:私はhereが述べたように、角括弧をエスケープするために、[[]使用している
CREATE PROCEDURE [dbo].[find_most_frequent]
@table_in VARCHAR,
@col_2 VARCHAR
AS
BEGIN
DECLARE @sql NVARCHAR(4000);
SET @sql =
--start of code
'SELECT' +
@col_2 +
' FROM ' + @table_in +
' GO'
--end of code
print @sql
EXEC SP_EXECUTESQL @sql
END
GO
EXEC [dbo].[find_most_frequent]
@table_in = '[[]dbo].[[]t1]'
,@col_2 = '[[]c1]'
GO
。しかしそれは動作します、@ sqlは
SELECT[ FROM [ GO
誰か助けてくださいできますか?ありがとう!
nice - ありがとうございました! –