R 准备好的语句可以使用多个值吗

R 准备好的语句可以使用多个值吗,r,jdbc,prepared-statement,R,Jdbc,Prepared Statement,考虑一个SQL语句,如 Select * from items where id in (123,456,789) 我能用一个事先准备好的陈述吗 Select * from items where id in ? 然后以集合或列表的形式提供参数?也许我需要在“?”周围加上括号 我计划在R中使用它,但我想这是对JDBC的一般查询。两个部分解决方法: 创建一个函数,根据所提供的值列表的长度,将(?)中的更改为(?,?)中的,然后将该数组拆分为单独的值进行绑定 优点:一个查询;装订是直截了当的

考虑一个SQL语句,如

Select * from items where id in (123,456,789)
我能用一个事先准备好的陈述吗

Select * from items where id in ?
然后以集合或列表的形式提供参数?也许我需要在“?”周围加上括号


我计划在R中使用它,但我想这是对JDBC的一般查询。

两个部分解决方法:

  • 创建一个函数,根据所提供的值列表的长度,将(?)中的
    更改为(?,?)
    中的
    ,然后将该数组拆分为单独的值进行绑定

    • 优点:一个查询;装订是直截了当的
    • 缺点:对于大型列表不可行;必须将查询包装在查询管理器中,而不是傻瓜式的
  • 将值上载到临时表并将查询更改为

    select * from items where id in (select val from temptable)
    
    • 优点:处理任意数量的值;不需要欺骗SQL;绑定就像多行插入一样
    • 缺点:多次呼叫;需要临时工作台和清理;与更复杂的查询集成可能会有问题(?)
  • . 您当然可以使用
    WHERE IN
    子句创建一个准备好的语句。