【问题标题】:Use PHP and oci_bind_by_name to pass a list of values to Oracle使用 PHP 和 oci_bind_by_name 将值列表传递给 Oracle
【发布时间】:2011-02-17 15:54:15
【问题描述】:

我有一个希望绑定或传递给此 Oracle SQL 查询的数字列表。

SELECT
    ad.lastname, ad.name, a.cc cc, sum(a.qt) qt
FROM a, ad
  where ( ad.ci in (:idList) or (:idList is null)) 
  and ad.ci (+) = a.ci
  And A.Type = 'R'
  And A.Cc In ('SIDI','SIND','RSU')

是否允许使用命令 oci_bind_by_name 将 :idList 与包含 Id 列表的字符串绑定?可以看作是对 Id 进行序列化的字符串吗?

示例:

“只是”似乎不可行,因为序列化列表不是 SQL 语法的一部分。有什么想法可以实现我的目标?

【问题讨论】:

    标签: php oracle oracle-call-interface


    【解决方案1】:

    你不能用一个字符串来做这个(除非你想用 SQL 标记你的 id 列表)。

    oci_bind_by_name 在这种情况下需要一个字符串。

    【讨论】:

    • 如果我错了,请纠正我,但 oci_bind_by_name 只会接受一个字符串作为绑定参数。 bool oci_bind_by_name ( resource $statement , string $bv_name , mixed &$variable [, int $maxlength = -1 [, int $type = SQLT_CHR ]] )http://www.php.net/manual/en/function.oci-bind-by-name.php
    • 我也很确定所有绑定占位符都必须是唯一的。 :idList) or (:idList
    猜你喜欢
    • 2016-06-24
    • 2011-10-27
    • 2013-06-18
    • 2013-09-16
    • 1970-01-01
    • 2015-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多