标签: ora-00913

尝试将double值插入Oracle数据库时出现SQLException

我必须开发一个将一些数据插入Oracle数据库的小程序.不幸的是我在使用SQL Statement和执行它时遇到了一些麻烦.这是我正在使用的代码:

db.execute(
    String.format("INSERT INTO tops VALUES (%d, '%s', %d, %f.00, '%s', TO_TIMESTAMP('%s', 'YYYY-MM-DD HH24:MI:SS.FF'))", 
        item.getID(),
        item.getTitle(),
        this.elements,
        item.getSize(),
        item.getEntity(),
        timestamp.toString()));
Run Code Online (Sandbox Code Playgroud)

这是执行应该工作的部分,但是我收到以下错误:

java.sql.SQLException: ORA-00913: Zu viele Werte
Run Code Online (Sandbox Code Playgroud)

谷歌翻译例外是:

java.sql.SQLException: ORA-00913: Too many values
Run Code Online (Sandbox Code Playgroud)

java sql string oracle11g ora-00913

8
推荐指数
1
解决办法
6147
查看次数

运行SQL查询时出现"ORA-00913:值太多"错误

我得到了"太多的值"错误,我不知道如何处理它.问题从第一个嵌套的SELECT开始

SELECT p.name, p.phone_number 
    FROM person p WHERE 
    (SELECT ks.title, ks.ks_code 
    FROM required_skills rs JOIN knowledge_skills ks USING (ks_code) 
    WHERE rs.pos_code = 'CS1') 
    IN (SELECT ks.title, ks.ks_code 
        FROM courses_taken ct  JOIN course_learning_units clu 
        USING (c_code)  JOIN learning_unit_skills lus USING (lu_code) 
        JOIN knowledge_skills ks USING (ks_code))
Run Code Online (Sandbox Code Playgroud)

我查找了有关此错误的信息,我相信这是因为WHERE中的子查询返回了太多列.表格数据如下.但是我该如何减少呢?我感谢任何指点,谢谢

required_skills

POS_CODE    VARCHAR2(10 BYTE)   Yes     1   
KS_CODE VARCHAR2(10 BYTE)   Yes     2   
Run Code Online (Sandbox Code Playgroud)

learning_unit_skills

LU_CODE VARCHAR2(10 BYTE)   Yes     1   
KS_CODE VARCHAR2(10 BYTE)   Yes     2
Run Code Online (Sandbox Code Playgroud)

PER_ID  NUMBER(38,0)    No      1   
NAME    VARCHAR2(255 BYTE)  Yes     2 …
Run Code Online (Sandbox Code Playgroud)

sql oracle oracle11g ora-00913

4
推荐指数
1
解决办法
4万
查看次数

Oracle 错误代码 ORA-00913 - IN CLAUSE 限制超过 65000 个值(每 1k 值使用 OR 条件)

我的应用程序团队正在尝试使用他们的程序即时构建的 SELECT 查询从表中获取 85,000 个值。

SELECT * FROM TEST_TABLE
   WHERE (
        ID IN (00001,00002, ..., 01000)
   OR   ID IN (01001,01002, ..., 02000)
   ...
   OR   ID IN (84001,84002, ..., 85000)
   ));
Run Code Online (Sandbox Code Playgroud)

但我收到错误“ORA-00913 值太多”。

如果我将 in 子句减少到仅 65,000 个值,则不会收到此错误。IN CLAUSE(伴随 OR 子句)的值是否有任何限制

sql oracle ora-00913

2
推荐指数
1
解决办法
363
查看次数

Oracle sql工作表

我正在尝试比较2列,目标是返回不匹配的行.例如,我在第1列和第2列中有以下内容

1                     2
id name age job       id  name  age  job
1   aaa  11 bbb        1   aaa   11   bbb
2   ccc  22 ddd        2   ccc   22   eee
Run Code Online (Sandbox Code Playgroud)

我正在寻找的回报是

2  ccc 22  ddd
2  ccc 22  eee 
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用以下内容

select id, name, age from 1 where id in
(
select id, name, age from 1
minus
select id, name, age from 2
)
union all
select id, name, age from 2 where id in
(
select id, name, age from 1
minus …
Run Code Online (Sandbox Code Playgroud)

sql oracle worksheet ora-00913

0
推荐指数
1
解决办法
313
查看次数

标签 统计

ora-00913 ×4

sql ×4

oracle ×3

oracle11g ×2

java ×1

string ×1

worksheet ×1