以前有个mysql的项目 有个sql语句是这样的
INSERT INTO tb_polloption (pid, choice) VALUES ('6a378681e2d24f6c85cd5760722d3dbb', '11'),('6a378681e2d24f6c85cd5760722d3dbb', '2'),('6a378681e2d24f6c85cd5760722d3dbb', '3')
现在要用orcale 有哪位大侠知道怎么实现同样的功能呢~

解决方案 »

  1.   

    INSERT INTO tb_polloption (pid, choice) 
    SELECT '6a378681e2d24f6c85cd5760722d3dbb' AS pid, '11' AS choice
    UNION all
    SELECT '6a378681e2d24f6c85cd5760722d3dbb', '2'
    UNION ALL 
    SELECT '6a378681e2d24f6c85cd5760722d3dbb', '3'用union all select 試試
      

  2.   

    用PreparedStatement对象的addBatch()、executeBatch()方法实现批量操作
    PreparedStatement ps = null;
    ps = conn.prepareStatement(sql);
    ps.setString(1,"");
    ps.setString(2,"");
    ps.addBatch();
    ps.setString(1,"");
    ps.setString(2,"");
    ps.addBatch();
    ps.executeBatch();
      

  3.   

    正解个P,哈哈!
    这是sql server,他本来的实现就是sql server的。Oracle:
    insert into [tb] 
    select xx,xx from dual
    union all
    select xx,xx from dual
      

  4.   


    INSERT INTO tb_polloption (pid, choice)
    select '6a378681e2d24f6c85cd5760722d3dbb', '11' from dual
    union all
    select '6a378681e2d24f6c85cd5760722d3dbb', '2' from dual
    union all
    select '6a378681e2d24f6c85cd5760722d3dbb', '3' from dual;
      

  5.   

    SQL> edit
    已写入 file afiedt.buf  1  begin                                                                                      
      2   INSERT INTO tb_polloption (pid, choice) VALUES ('6a378681e2d24f6c85cd5760722d3dbb', '11');
      3   INSERT INTO tb_polloption (pid, choice) VALUES ('6a378681e2d24f6c85cd5760722d3dbb', '2'); 
      4   INSERT INTO tb_polloption (pid, choice) VALUES ('6a378681e2d24f6c85cd5760722d3dbb', '3');
      5* end;SQL> /PL/SQL 过程已成功完成。
      

  6.   

    zhangzhipeng2011正解,insert into ... values多次, 范不着纠结
      

  7.   

    java 里的话 是3楼 正确。