выбор имени переменной строки в sql запрос выбора в случае хранимых процедур - PullRequest
0 голосов
/ 06 февраля 2020

Предположим, что я хочу выбрать постоянное значение в запросе sql, я мог бы сделать что-то вроде этого:

select name,age,'tick' from tableA

Я хочу динамически генерировать запрос sql с использованием хранимых процедур. Например:

SELECT @SQL = 'SELECT CID,DOB, NAME, '+@Scname+' from ' + @TableName

Где @TableName, @Scname - это динамически генерируемые переменные за некоторое время l oop. Здесь @Scname интерпретируется как имя столбца вместо константной строки при выполнении запроса к @TableName. Я попытался использовать escape-символы следующим образом:

SELECT @SQL = 'SELECT CID,DOB, NAME, \"'+@Scname+'\" from ' + @TableName

Но он возвращает значение с плавающей запятой, полное нулей, вместо строки, содержащейся в @ Scname.

Ответы [ 2 ]

1 голос
/ 06 февраля 2020

Попробуйте

SELECT @SQL = 'SELECT CID,DOB, NAME,' + QUOTENAME(@Scname, '''') + ' from ' + @TableName
1 голос
/ 06 февраля 2020

Я думаю, что следующие должны работать

SET @SQL = 'SELECT CID,DOB, NAME,'+''''+@Scname+''''+' from '+ @TableName
...