Как я могу напечатать переменную SQL в Coldfusion?Печать SQL-переменной в ColdFusion
<cfquery...>
...
@var1='whatever'
</cfquery>
<cfoutput>
#@var1#
</cfoutput>
Синтаксис, как это всегда бросает ошибку из-за @
символа.
Как я могу напечатать переменную SQL в Coldfusion?Печать SQL-переменной в ColdFusion
<cfquery...>
...
@var1='whatever'
</cfquery>
<cfoutput>
#@var1#
</cfoutput>
Синтаксис, как это всегда бросает ошибку из-за @
символа.
Вы не можете. <cfquery>
отправляет строку SQL в БД и ожидает, что запись будет восстановлена. Это единственное, что <cfquery>
предоставляет код вызова. Он никоим образом не анализирует (или не понимает каким-либо образом) оператор SQL ... он просто отправляет его в БД. CF не знает, что там есть переменная SQL.
Что вам нужно сделать, это что-то вроде этого (непроверенные):
<cfquery name="blah">
...
@var1='whatever'
SELECT @var AS someName
</cfquery>
<cfoutput>#blah.someName#</cfoutput>
Действовать таким образом будет означать набор записей, который возвращается (который всегда последнийfirst один в SQL оператор) будет тем, у кого есть переменная.
Спасибо, но переменная, которую я хочу распечатать, состоит из нескольких значений изнутри цикла. Кроме того, я не могу сделать выбор в этом var, потому что это «неопределенный» ... – Phil
Shrug. Возможно, вы захотите посмотреть @ с помощью proc вместо встроенного SQL, я думаю. Итог: вы не можете получить доступ к переменной var в строке SQL '
ok Спасибо, я дам ему попробовать – Phil
Возможно, хранимыйпродукт может помочь. –
Как бы сохранить helpproc? –
В отличие от cfquery, хранимые procs поддерживают возвращаемые выходные переменные и несколько наборов результатов. – Leigh