如何在 SQL Developer 中输入多值参数的绑定

2023-12-11

我有很多带有命名参数的 SQL,我需要能够在 SQL Developer 中执行它们。对于参数为标量值的 SQL,可以轻松地将 SQL 粘贴到工作表中,并且 SQL Developer 将提示我(在标题为“Enter Binds”的对话框中)输入参数值。但对于参数需要保存多个值的情况,如下所示:

select count(*) from foo 
where foo.id in (:ids)

哪里,比如说,:ids需要替换为1,2,3这样执行的查询是

select count(*) from foo 
where foo.id in (1,2,3)

我尝试在对话框中输入值(并且我尝试用逗号分隔,或仅用空格分隔,或将所有内容括在括号中),无论我尝试什么,我都会收到错误消息:

ORA-01722: invalid number
01722. 00000 -  "invalid number"
*Cause:    
*Action:

是否有一种语法可以在“输入绑定”对话框中输入多个值,以便 SQL Developer 能够正确执行替换?或者绑定严格限于标量值?

我正在使用 Oracle SQL Developer 3.2.20.09。


这不是 SQL Developer 的限制,这只是绑定变量的工作方式。你正在有效地做:

select count(*) from foo 
where foo.id in ('1,2,3')

...这确实是in (to_number('1,2,3')),因此出现错误。它适用于单个值,如果小数点分隔符是逗号,则为两个值提供奇怪的结果,而对于其他值则失败。

您不能在绑定提示符处输入多个值,也不能向绑定提供多个值。in()通过一次绑定。不过,你可以作弊发挥一点创意。这xmltable函数会将逗号分隔的字符串转换为每行一个值的行:

var ids varchar2(50);
exec :ids := '1,2,3';
select * from xmltable(:ids);

COLUMN_VALUE
------------
1            
2            
3            

然后您可以将其用作查找表:

select count(*)
from xmltable(:ids) x
join foo f on f.id = to_number(x.column_value);

  COUNT(*)
----------
         3 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 SQL Developer 中输入多值参数的绑定 的相关文章

  • SQL 错误:ORA-14006:无效的分区名称

    我正在尝试使用以下 SQL 语句对 Oracle 12C R1 中的现有表进行分区 ALTER TABLE TABLE NAME MODIFY PARTITION BY RANGE DATE COLUMN NAME INTERVAL NUM
  • 将数据从 oracle 移动到 HDFS,处理并从 HDFS 移动到 Teradata

    我的要求是 将数据从 Oracle 移至 HDFS 处理HDFS上的数据 将处理后的数据移至 Teradata 还需要每 15 分钟执行一次整个处理 源数据量可能接近50GB 处理后的数据也可能相同 在网上搜索了很多之后 我发现 PRARO
  • 使用联接更新表?

    我正在尝试使用表 B 中的数据更新表 A 我以为我可以做这样的事情 update A set A DISCOUNT 3 from INVOICE ITEMS A join ITEM PRICE QUNTITY B on A ITEM PRI
  • postgresql:插入...(选择*...)

    我不确定它是否是标准 SQL INSERT INTO tblA SELECT id time FROM tblB WHERE time gt 1000 我正在寻找的是 如果 tblA 和 tblB 位于不同的数据库服务器中怎么办 Postg
  • Oracle 上“描述”命令不起作用的原因是什么?

    我正在尝试在 oracle 上运行 describe table name 命令 我正在使用 dbeaver 来访问 oracle 但是 当我运行该命令时 它显示 SQLException 和错误消息 无效的 sql 语句 我该如何进行手术
  • 3 个表的 SQL 查询(或联接)

    第一次在 Stack Overflow 上问问题 很棒的资源 但是只有一件事真正让我作为 SQL 新手感到困惑 我有三个表 我想获取与鲍勃的学生相关的所有导师的姓名 表 1 教师 ID Name 1 Bob 表 2 学生 STUDENT I
  • SQL Server:为什么 ISO-8601 格式的日期依赖于语言?

    我需要一些帮助来理解 SQL Server 中的日期格式处理 如果您尝试以下操作 它将返回正确的结果 SET LANGUAGE English SELECT CAST 2013 08 15 AS DATETIME 2013 08 15 00
  • Java、Oracle 中索引处缺少 IN 或 OUT 参数:: 1 错误

    您好 我使用 Netbeans 8 0 2 和 Oracle 11g Express Edition 在 JSF 2 2 中编写了一个图书馆管理系统 我有几个名为 书籍 借阅者 等的页面 以及数据库中一些名为相同名称的表 我的问题是这样的
  • Oracle SQL 函数中可以有 commit 语句吗

    在 SQL 函数中使用 COMMIT 语句是否可能 有意义 从技术上来说 答案是肯定的 你can请执行下列操作 create or replace function committest return number as begin upd
  • 时间序列数据的自连接

    我需要一些帮助来完成我认为应该是相当简单的自连接查询 只需要将两条记录中匹配的开始时间和结束时间合并为一条记录 假设我的表中有以下内容 Time Event 08 00 Start 09 00 Stop 10 30 Start 10 45
  • 如何在PL/SQL中模拟32位有符号整数溢出?

    您知道如何在 Oracle PL SQL 中模拟 32 位整数溢出吗 例如 2147483647 1 2147483648 or 2147483648 1 212147483647 我尝试了 PLS INTEGER 但它引发了溢出异常 我终
  • oracle ExecuteNonQuery 在 ASP.Net 上冻结

    我正在尝试使用 ASP C 和 CLR 4 5 中的 Oracle 连接来运行非查询 这是我的代码 string connectionString ConfigurationManager ConnectionStrings OracleC
  • SQL 标准是否允许函数名和括号之间有空格

    检查一些 RDBMS 我发现类似的事情 SELECT COUNT a SUM b FROM TABLE 允许 注意聚合函数和括号之间的空格 谁能提供一个指向 SQL 标准本身定义的指针 任何版本都可以 编辑 以上在postgres中工作 m
  • 没有提示指令的直连接中表的顺序是否会影响性能?

    所有基于 SQL 的 RDBMS 10 年前的版本 直接连接查询 没有提示指令 中的表顺序是否会对最佳性能和内存管理产生影响 听说最后一个join应该是最大的表 您的数据库的查询优化器如何处理这种情况 回答你的问题 是的 表的顺序在连接中有
  • 如何创建没有循环关系的树形表?

    CREATE TABLE TREE node1 id UUID REFERENCES nodes object id NOT NULL node2 id UUID REFERENCES nodes object id NOT NULL CO
  • 无法与重定向器建立连接。确保“sql browser”服务正在运行

    所以我尝试这个 sql server 2012 由于这个错误我无法打开任何 ssis 包 无法与重定向器建立连接 确保 sql browser 服务正在运行 我的 Sql 浏览器肯定正在运行 我尝试在本地服务 本地系统和网络下更改它 仍然没
  • php oracle客户端oci8安装出现什么问题

    我尝试了安装 PHP Oracle 客户端的所有过程 1 我安装了客户端版本8和32位 2 我在php ini中取消了oci的注释 3 重新启动Wamp 4 不确定是否真的安装 但我在 php ini 中得到了引用 5 但仍然无法连接 泰汉
  • 执行 `EXECUTE IMMEDIATE ` Oracle 语句出现错误

    我是 Oracle 的新手 当我执行以下语句时 BEGIN EXECUTE IMMEDIATE SELECT FROM DUAL END 我得到错误为 命令中从第 2 行开始出错 立即开始执行 从双选择 结尾 错误报告 ORA 00911
  • SQL Server 中的 FIFO 查询

    我正在构建一个库存管理应用程序c with SQL server 我想做一个FIFO从我的表查询 我以可变价格购买了相同的产品 之后我卖掉了其中一些 我想根据 先进先出 进行查询BatchDate柱子 所以我想通过PurchasePrice
  • 更改表添加列并在同一条件 IF 语句中更新新列

    我正在尝试添加列并在同一 if 语句中更新它 BEGIN TRAN IF NOT EXISTS SELECT 1 FROM sys columns WHERE Name N Code AND Object ID Object ID N Te

随机推荐

  • 如何使用 Windows PowerShell 从 MariaDB 转储文件导入数据 [重复]

    这个问题在这里已经有答案了 我尝试使用以下命令在 Windows Powershell 中导入 dumpfile sql mysql u root p database database lt Backup sql 但我收到以下错误 At
  • 在 CodeBuild maven 作业中使用适当的 ECS 凭证

    我尝试在 mvn 命令中使用 CodeBuild 服务角色 但它似乎没有获取适当的 IAM 权限 我在用s3 wagon 私人插件它似乎使用了最新版本DefaultAWSCredentialsProviderChain包括EC2Contai
  • 如何在没有 Windows 窗体的情况下接收即插即用设备通知

    我正在尝试编写一个类库 它可以捕获 Windows 消息 以便在设备已连接或删除时通知我 通常 在 Windows 窗体应用程序中 我只会重写 WndProc 方法 但在本例中没有 WndProc 方法 还有其他方法可以获取消息吗 你需要一
  • 为什么 MSVC 编译器将模板实例化二进制文件放入程序集中?

    我在 MSVC 编译器中遇到了一些奇怪的事情 它将函数模板定义放在汇编中 而优化消除了对它们的需要 看起来 Clang 和 GCC 完全成功地删除了函数定义 但 MSVC 却没有 可以修复吗 主要 cpp include
  • 如何在Excel中创建下拉列表? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我在 Excel 中有一个值列 如下所示 如何将其转换为下拉列表 例如列中的每一行都会有该下拉列表 其中有狗 猫 鱼 蝙蝠 蟾蜍 都在里面 thanks 您可以通过 数据 功能区中的
  • phpMailer电子邮件不发送gmail smtp

    我无法使用 gmail SMTP 发送电子邮件 这是我收到的信息print r物体 我对 phpMailer 属性的用户名和密码使用相同的 gmail 凭据 因此我确信我的凭据是正确的 但不知道为什么它不发送 谢谢 感谢任何支持 EMail
  • 在单个页面上使用多个(猫头鹰)轮播

    我一直在谷歌上寻找在单个页面上使用多个轮播的方法 但没有找到任何适合我的解决方案 你们中的任何人都可以帮忙吗 这是代码 HTML div div class container div class row div class span12
  • 包管理器控制台仅在特定 VS 项目中启用迁移 CommandNotFoundException

    我尝试在新项目中运行命令 Enable Migrations 并收到消息 PM gt Enable Migrations The term Enable Migrations is not recognized as the name of
  • 在地址栏中显示 iFrame url

    是否可以在url地址栏中包含iframe内容的url 例如 我有一个域sub test com它有一个带有 src 的 iframerealpage com 逻辑上浏览页面不会改变地址栏中的任何内容 因为我们在其他域的 iframe 中打开
  • R oauth 身份验证期间 twitteR PIN 码出现在哪里?

    我正在尝试使用 twitteR 包 因为我已经阅读了 Jeffrey Stanton 关于数据科学的免费电子书中的 Twitter 章节 我使用此代码来注册我的凭据 requestURL lt https api twitter com o
  • 第一次使用Hadoop,MapReduce Job不运行Reduce Phase

    我编写了一个简单的映射缩减作业 该作业将从 DFS 读取数据并对其运行简单的算法 当尝试调试它时 我决定简单地让映射器输出一组键和值 而减速器输出一组完全不同的键和值 我在单节点 Hadoop 20 2 集群上运行此作业 当作业完成时 输出
  • 用于选择 x、y 和颜色(绘图)的下拉菜单

    我正在尝试创建一个带有可选 x y 和颜色变量的绘图 部分基于上一个问题 x 和 y 变量选择似乎有效 但是当选择新的 x 和 y 变量时 点颜色会丢失 此外 我尝试使用类似的策略来选择点颜色 但不幸的是这似乎不起作用 另一种选择是在前面链
  • 通过 ODBC 从 C# 读取 Netezza 数据库表在 Windows 7 中不起作用

    为什么 NET 无法通过已安装的 NetezzaSQL 驱动程序连接到我的 Netezza 盒子 64 位应用程序也无法通过此 ODBC 连接进行连接 为什么会这样呢 我已在控制面板中构建了用户和系统 Netezza ODBC 连接 当我单
  • 在unix中如何删除文件的最后一个字符?

    假设我有一些任意的多行文本文件 sometext moretext lastline 如何仅删除文件的最后一个字符 e 而不是换行符或空 而不使文本文件无效 更简单的方法 输出到标准输出 不更新输入文件 sed s somefile 是一个
  • 制作模态 JInternalFrame

    我需要从 MDI JFrame 中的用户获取大量数据 文件选择 文本 日期 我需要的输入表格是JInternalFrame是模态的 我怎样才能做一个JInternalFrame modal 根据我的经验 我从来没有成功过JInternalF
  • 如何从 QListWidgetItem 获取小部件

    我制造了一个QListWidget In QLisitWidgetItems 我添加了一个QVBoxLayout That QVBoxLayout包含三个QLabels 如何获取里面的值QLabel点击时QListWidgetItem 创建
  • 有可用的 Linux RDAP 客户端吗? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我四处寻找 认为这里可能是最快的 我在哪里可以得到任何RDAP客户端 它实际上被任何人使用吗 您可以使用用 Perl 编写的 rdapper git clone https gi
  • Kurento Media WebRTC 转 RTP

    我正在使用 kurento 的主 git 来制作 WebRTC 到 RTP 的桥接器 MediaPipeline pipeline kurento createMediaPipeline WebRtcEndpoint webRtcEndpo
  • Javascript 书签在 Firefox 中输出“true”而不是执行脚本

    我们正在运行一个快速的 JavaScript 函数来填写和保存表单 以便在工作流程中快速前进 用于测试目的 它在除 Firefox 之外的所有浏览器中运行良好 并且仅在少数人的计算机上运行 javascript function ruleD
  • 如何在 SQL Developer 中输入多值参数的绑定

    我有很多带有命名参数的 SQL 我需要能够在 SQL Developer 中执行它们 对于参数为标量值的 SQL 可以轻松地将 SQL 粘贴到工作表中 并且 SQL Developer 将提示我 在标题为 Enter Binds 的对话框中