Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将查询插入oracle数据库_Java_Sql_Database_Oracle - Fatal编程技术网

Java 将查询插入oracle数据库

Java 将查询插入oracle数据库,java,sql,database,oracle,Java,Sql,Database,Oracle,可能重复: 我的塞纳里奥: 我想将查询(不是结果集)保存在数据库中。 我使用Java作为前端; 我的表格(Querytab)包含以下字段: sno VARCHAR2(1024) QUERY VARCHAR2(4000) 问题是当我插入一个有条件的查询时 e、 ginsert-into-querytab值('100','select*from-querytab,其中sno='100') 第1行错误: ORA-00933:SQL命令未正确结束 问题是:当Queryvalue找到' 如何解决这个问

可能重复:

我的塞纳里奥: 我想将查询(不是结果集)保存在数据库中。 我使用Java作为前端; 我的表格(Querytab)包含以下字段:

sno VARCHAR2(1024)
QUERY VARCHAR2(4000)
问题是当我插入一个有条件的查询时 e、 g
insert-into-querytab值('100','select*from-querytab,其中sno='100')

第1行错误: ORA-00933:SQL命令未正确结束

问题是:当Queryvalue找到
'
如何解决这个问题。
提前感谢。

使用
PreparedStatement
对字符串进行转义

大概是这样的:

sql="insert into querytab values (?,?)";
PreparedStatement ps=conn.prepareStatement(sql);
ps.setString(1,"100");
ps.setString(2,"select * from querytab where sno ='100'");
ps.executeUpdate();
试试这个

insert into querytab values('100','select * from querytab where sno =100');

要插入单引号,需要对其进行转义。转义是通过简单地复制它们来完成的:

insert into querytab 
(sno, query)
values
('100','select * from querytab where sno = ''100'' ');
本手册对此进行了解释:


@Mat:这不是你说的话的翻版。。。他想存储查询…问题也是一样的。您需要正确地转义字符串。(如果您是从代码中执行此操作的,那么应该使用准备好的语句和绑定变量。)@Mat感谢您的帮助,它可以正常工作了。。!非常感谢您正在存储不同的字符串。这不是OP想要存储的字符串。