这样的sql语句怎么用?

goodhal0418 2005-06-30 07:07:01
我写了一个这样的SQL语句供程序调用,可是oracle提示出错,请问这种语句怎么用呀,
哪位老师指导我一下
insert into table1(a,b,c) values(?,(select b,c from table2 where d=?))
...全文
118 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zealot_zk 2005-07-01
  • 打赏
  • 举报
回复
厉害,学习中
zsfww1205 2005-06-30
  • 打赏
  • 举报
回复
insert into table1(a,b,c) values(?,(select b,c from table2 where d=?))
这是一种连接数据池的预编译方法
在进行正式提交的时候你必须在?的位置插入对应的数据

下面是一个例子:
String sql = "insert into files(filesid,filestitle,author,content,fileid,collectdate)values(?,?,?,?,?,sysdate)";
stmt = conn.prepareStatement(sql);
stmt.setInt(1, filesID);
stmt.setString(2, filestitle);
stmt.setString(3, author);
stmt.setString(4, content);
stmt.setString(5,fileID);
stmt.executeUpdate();
zzwind5 2005-06-30
  • 打赏
  • 举报
回复
values(?, )
? 你要确定类型跟字段table1 的 a 字段 一致
select b,c from table2 where d=? 要确保返回一行

其实可以这样写
insert into table1(a, b, c)
select ?, b, c from table2 where d=?;
? 并不一定要是 TABLE2的字段

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧