问题标签 [ora-01722]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
oracle - IN 子句的函数或过程
我想编写一个可以在另一个过程的 IN 子句中使用的函数或过程。该函数或过程将返回 ID 号。
主要程序会说类似
GET_OFFICE_IDS 返回一个 VARCHAR2,ID 用逗号分隔。当我运行主程序时,我得到一个“ORA-01722:无效号码”错误,这是有道理的,但我不知道我需要从这里去哪里。
我是否需要 GET_OFFICE_IDS 来创建主过程使用的临时表?如果是这样,会不会有性能损失?
java - oracle jdbc驱动版本疯狂
为什么 Oracle 为每个(!)数据库版本提供不同(!)版本的 JDBC 驱动程序,例如 ojdbc14.jar?
这些文件都有不同的大小,因此可能有不同的内容。
背景:
我们在保存数据时收到一个随机且看似不可重现的错误,说“无效数字”(我们猜测它是时间戳)。但这不是任何特定的陈述。大多数时候,它保存得很好。一个月一次,看似无害的声明就会失败。
所以我仔细查看了 Oracle 的下载站点,发现尽管文件共享相同的名称,但没有一个文件大小匹配。
我们的产品在客户维护的数据库上运行,即客户运行的任何版本和补丁都是如此。
那么我们使用什么驱动呢?最新的(Oracle 11g)——尽管它通常是9i 和10g 数据库?
他们为什么不将所有版本链接到同一个“一个驱动程序适合所有人”文件?
或者是否存在细微的差异会导致我们的随机错误等影响?
编辑:我误解了 9i 数据库。
java - EJB3 查询 + in 子句
我需要使用如下 SQL 的 IN 子句
我如何在 EJBQL 中做到这一点?
我尝试了以下方法,显然失败了:
然后在java中我做了
这给了我以下例外
sql - oracle pl/sql oracle-01722 错误
我的程序中有一个简单的 oracle 语句:
v_qstns_to_delete 是一个正在传递的参数。它是一个 varchar2 字段,a.qstn_id 是一个数字字段。
调用存储过程时,对于 v_qstns_to_delete,我将传递以下字符串:“24、43、23、44、21”。
当我运行语句输出存储过程时,它运行良好,但是当我将它作为存储过程运行时,我在上面的行中收到一个错误,提示数字无效。
有什么线索吗?
oracle - Oracle Sql Loader 控制文件有问题
我正在尝试使用 sql loader 加载一些数据。这是我的控制/数据文件的顶部:
...许多其他数据线。
问题是 sql 加载器无法识别我指定的数据类型。这是日志文件:
...如果尝试将 char 数据插入数字列,则会出现许多类似的错误。
我试过没有数据类型规范,所有其他数字规范,总是同样的问题。有任何想法吗?
另外,关于它为什么要更改 Rows 参数的任何想法?
asp.net - 无法在 ASPX 中过滤 Oracle SELECT
ASP.Net 2 数据源的一部分:
这提供了一个有效的 GridView。显示屏显示
是文本(非数字)。
我想使用文本框作为“包含”过滤器,即,如果我在框中输入“恢复”,我希望添加数据源
到 SQL。如果我对该行进行硬编码,它就可以工作。
但是如果我添加
在不更改 SQL 的情况下,我没有返回任何行。然后,如果我把
进入 SQL,当文本框为空白时,我没有得到任何结果,并且 ORA-01722:当我将字符放入其中时,数字无效。
sql - ORA-01722: 无效号码
当我使用单引号执行以下 SQL 命令输入数字时,如果删除单引号,则会出现错误,它已成功更新。知道字段 HEIGHT 的类型是 NUMBER。
奇怪的是我尝试在不同的机器上使用带单引号的相同sql语句,有些机器执行成功,有些机器没有。(相同的oracle版本,相同的表结构......)
请有任何解释
sql - Oracle 10.2 行为怪异。还是我
请查看以下查询。SQL 并不像看起来那么糟糕。基本上,我们有一个事实表和一些维表的简单连接。然后我们有一个派生表的连接,给定别名 ACCOUNTS-DIM-DEP
用户抱怨当他们的 WebI(商业智能)报告在他们的过滤器中包含多个 COST CENTERS 时,导致 SQL 的“IN”包含多个值,返回以下错误:
否则,对于单个 COST CENTER,报告工作正常。有趣的是,我注意到以下连接条件(在我看来UNRELATED)对 SQL 产生了负面影响:
这里的问题是左侧的列accounts_dim_dep.account_id 在db 中定义为charchar,右侧的col dw_mgr.fa_trans_fct.depreciation_account_id 定义为数字。
当我修改连接条件以将数字转换为 varchar 时...
...无论过滤器中指定的 COST CENTERS 数量如何,SQL 都可以正常工作。
我想知道一个看似不相关的列上的类型不匹配如何影响是否可以在 IN 列表中指定多个 COST CENTERS。
sql - 使用表达式的结果改变 Oracle 序列
我有两个变量
我正在将值读入这些值,然后尝试根据它们更改序列
位我收到“无效号码”错误或 SQL 命令未结束错误。
即使我尝试硬编码数字也会发生这种情况
我在这里遗漏了一些明显的东西吗
sql - 难以实现 REGEXP_SUBSTR
我在 Oracle 10g 上运行 SQL 查询。我有两个表(下面提供的示例数据)。我正在尝试从表 t2 中提取一些字段并更新表 t1 中的空列。我遇到以下错误:
ORA 01722: 无效数字(指向REGEXP_SUBSTR)
我知道这是因为我的表中的非数字数据(如“NO code {...}”),我试图使用 REGEXP_SUBSTR* 表达式提取我想知道是否有人可以建议我一些替代实现帮我“复制整个字符串”而不是抛出异常。
临时表 t1
谢谢,
新手