Phi*_*enn 4 coldfusion sql-server-2008
下面是如何在使用.NET的SQL Server 2008存储过程中使用表值参数的示例.
问:ColdFusion是否可以将表值参数传递给Microsoft SQL Server 2008存储过程?
简答:没有支持,它应该投票给它!
长答案:Coldfusion可以使用JDBC,它还不支持TVP,但它应该.在此投票:http: //mssqlconn.uservoice.com/forums/113295-feature-feedback/suggestions/2269687-table-valued-parameters-tvp-support-in-jdbc
XML可以工作,但使用TVP可以使客户端和sproc代码更易于读取,编写,查看和调试.在大多数情况下,它也更快,具体取决于API的实现.
仅供参考,使用Oracle并不是更好.它们具有ARRAY SQL数据类型(最接近TVP).JDBC也不支持它:使用数组对象
小智 5
我发现了这个解决方法。您可以从 cfquery 中调用存储过程,这样您就可以传入表值参数 TVP。
<cfquery datasource="" name="">
DECLARE @return_value int
-- Create table value parameter
DECLARE @DataTVP tDataTable;
--Build Table
INSERT INTO @DataTVP(DataId)
VALUES (1),(2),(3)
EXEC @return_value = P_DeleteItems
@tvpData = @DataTVP --Pass table into Stored Procedure
SELECT 'Return Value' = @return_value
</cfquery>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4669 次 |
| 最近记录: |