将数组发送到 PL/SQL 过程
Posted
技术标签:
【中文标题】将数组发送到 PL/SQL 过程【英文标题】:Sending an Array into a PL/SQL Procedure 【发布时间】:2009-03-09 19:01:28 【问题描述】:我创建了一个 Web 服务来将一堆信息发送到 PL/SQL 过程,但是其中一个是数组。我用什么类型的?我还想在该数组进入后将其放入游标中。
【问题讨论】:
网络服务是用什么语言编写的?它是如何连接到数据库的? “数组”参数具体是什么数据类型? 【参考方案1】:我对 PL/SQL 没有任何经验,如果不适用,请见谅。在 MS SQL 2000/2005 中,没有办法将数组传递给过程。我假设 PL/SQL 也有类似的限制。我过去使用的解决方法是传入一个分隔字符串(通常是管道分隔,因为数据中存在逗号),然后有一个函数可以接受一个分隔字符串并将其分解为一个表结果每个值的行。然后在你的过程中,你只需调用你的 split 函数,将分隔字符串传递给它,你就有一个表格结果,你可以做任何你想做的事情(光标,加入其他表格等)。
编辑:刚刚为“PL/SQL 表参数”做了一个谷歌搜索并获得了一些点击;可能值得调查,看看这些结果是否对您有帮助。
【讨论】:
【参考方案2】:This link 可能有用。或者你可以按照其他发帖人所说的做,基本上将你的数据序列化成一个字符串,传递它,然后在另一端反序列化它。
【讨论】:
以上是关于将数组发送到 PL/SQL 过程的主要内容,如果未能解决你的问题,请参考以下文章
在 C# 中使用 Dapper 将数据发送到 RECORD 类型的 PL/SQL 脚本变量会更好吗
在不创建存储过程的情况下将 PL/SQL 发送到 Oracle