gpt4 book ai didi

sql - 在 Coldfusion 中执行 SQL 函数

转载 作者:行者123 更新时间:2023-12-04 16:48:23 25 4
gpt4 key购买 nike

我的 MS SQL(2005) 中有一个用户定义的函数,我想通过 Coldfusion (8) 执行它。
知道如何让这个工作吗?

[它不是一个存储过程,所以 cfstoredproc 已失效]。

先感谢您。

最佳答案

您可以在常规 CFQUERY 块中直接调用 SQL UDF,假设您的 Coldfusion 数据源对所需的 UDF 具有适当的 EXECUTE 权限。您不必在 CFQuery 中返回 select 语句。如果您将任何 Coldfusion 变量传递给数据库,请记住为了安全起见使用 CFQUERYPARAM。

要调用 UDF,您需要包含其架构*。在我们的例子中,我们使用了默认模式,因此我们的 UDF 以“dbo”为前缀。如 dbo.FunctionName()。

下面是一个例子:

<!--- We want to convert this numeric category into its English name.
Thankfully our database administrator has a simple function to
resolve it without extra work on our part. --->

<cfset myCategory = 100428>

<!--- We call this Coldfusion variable using CFQUERYPARAM to prevent SQL Injection --->

<cfquery datasource="mydatasource" name="test">
SELECT dbo.CategoryAsString(<cfqueryparam cfsqltype="cf_sql_integer" value="#myCategory#">) AS CategoryString
</cfquery>

<!--- And output the result here --->
<cfdump var="#test.CategoryString#">

*如果您不包含 UDF 的架构,您将收到“错误执行数据库查询。
[Macromedia][SQLServer JDBC Driver][SQLServer]'[FUNCTION NAME]' 不是公认的内置函数名称。”(CF 8)

关于sql - 在 Coldfusion 中执行 SQL 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10454241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com