在ColdFusion中打印SQL变量

Phi*_*hil 1 sql variables coldfusion

如何在Coldfusion中打印SQL变量?

<cfquery...>
  ...
  @var1='whatever'
</cfquery>

<cfoutput>
  #@var1#
</cfoutput>
Run Code Online (Sandbox Code Playgroud)

像这样的语法总是因@符号而引发错误.

Ada*_*ron 6

你不能.<cfquery>将SQL字符串发送到DB并期望记录集.这是唯一<cfquery>暴露于调用代码的东西.它不以任何方式解析(或以任何方式理解)SQL语句......它只是将其发送到DB.CF不知道那里有一个SQL变量.

你需要做的就是这样(未经测试):

<cfquery name="blah">
    ...
    @var1='whatever'

    SELECT @var AS someName
</cfquery>
<cfoutput>#blah.someName#</cfoutput>
Run Code Online (Sandbox Code Playgroud)

这样做将意味着返回的记录集(它始终是SQL语句中的最后一个记录集)将是包含变量的记录集.

  • 另一种可能性是将值抛出到临时表中,并在最后执行SELECT.一切都取决于你的回归.(虽然您可以在cfquery中执行此操作,但我会坚持使用存储过程.这些更适合复杂的sql语句.) (2认同)