使用 PHP 和 oci_bind_by_name 将值列表传递给 Oracle

发布于 2024-10-18 09:43:42 字数 410 浏览 5 评论 0原文

我有一个想要绑定或传递给此 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 语法的一部分。有什么想法可以实现我的目标吗?

I have a list of numbers I wish to bind or pass to this Oracle SQL query.

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')

Is it allowable to use the command oci_bind_by_name to bind :idList with a string containing a list of Ids? Could be seen as a string that seralizes the Ids?

Example:

It seems unfeasible "just" because the serialized list is not part of SQL syntax. Any ideas to reach my goal?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我们只是彼此的过ke 2024-10-25 09:43:42

您不能使用字符串来执行此操作(除非您想使用 SQL 标记您的 id 列表)。

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

You can't do this with a string (unless you want to tokenize your id list with SQL).

oci_bind_by_name requires a string in this case.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文