多条语句之间用分号(;)分隔开来,例如:update mytable set field1='value1' where id=22;update mytable set field2='value2' where id=33

解决方案 »

  1.   

    sqlserver是分号分隔,access是么?
      

  2.   

    对了,在一个连接中,多条SQL分开执行和用分号间隔开一起执行, 在效率上有差别吗?差别有多大?
      

  3.   

    不会怎么做?呵呵,我现在就是一个SQL执行一次
      

  4.   

    用分号间隔开一起执行效率应该较高,出错时处理较复杂。比如其中一条引起错误,那么如何影响后面的语句,你又怎样知道哪里错了呢。
    不过多条SQL分开执行的话代码比较清晰易读,出错处理较容易。
      

  5.   

    到底哪种方式好?做WEB应用的话,对效率要求还是比较高的
      

  6.   

    当然是批处理效率高了!
    最简单的 删除多条数据 你可以写成
    delete from d where id=1
    delete from d where id=2
    delete from d where id=3
    但是 delete from d where id in(1,2,3) 执行效率不是更高吗?
    数据库操作 重复打开关闭数据库效率会很低的 最浪费系统资源的
      

  7.   

    我的方法里,多条SQL分开执行,不会重复关闭数据库的~连reset也不会执行的~~~
    效率差距到底有多少
      

  8.   

    效率差距到底有多少这很难说清,但如果多条语句分开执行,每执行一条SQL语句web服务器就得把该语句发送给数据库去处理,如果多条语句在一起,那么这些语句一次就被发送过去,这其中效率差距取决于执行的SQL语句的长短和复杂程度,另外如果数据库服务器和web服务器不在同一台机器上,那么差距可能会更明显些。
      

  9.   

    如有可能,不如写成储存过程。当然根据需要组合成一条SQL语法执行,效果会更理想,至少只可刷新一次页面。
      

  10.   

    可以用事务解决吧,在事务开始与事务结束之间的块中,可以写如入批量sql
      

  11.   

    access不支持,只能执行单语句
      

  12.   

    我用过access它可不是一个综合性的数据库啊,它在实际应用当中对多用户和多次访问的支持不强。你要是用的话(还不想用存储过程),那么“非存储过程的SqlText如何批量执行多条sql语句”就没有什么意义了。你的SqlText语句应该在10以内吧(如果不是,晕。劝你还是用存储过程吧。学用的时间比你的数据库执行的时间要“短”!!!)
    安不安全的就不说了,建议换数据库,用存储过程。
      

  13.   

    我现在是sql server,但我想兼容access
    既然access不支持,那就算了,单独执行吧~~~
    语句既不复杂,也不多