可能重复:
How to handle a single quote in Oracle SQL
我的塞纳里奥:
我想将查询(不是结果集)保存到数据库中。
我使用java作为前端;
我的表(querytab)具有以下字段:
sno VARCHAR2(1024)
QUERY VARCHAR2(4000)
问题是当我插入一个有条件的查询时
例如
insert into querytab values('100','select * from querytab where 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();