select * from students where 姓名 in ('张山','李四')如果上面的子句:in ('张山','李四')
中的姓名有3000个或更多,可以吗???

解决方案 »

  1.   

    建议把in后面的改为 select name from 表 然后才可以。
      

  2.   

    前台客户机在清单中选择3000个姓名,需要执行一个更新操作,应该有2种方法。方法一:该客户机在服务器上创建一个临时表,然后插入3000个姓名到该临时表,最后
    update .... where exists(select * from temptable where ....)方法二:就是我发帖的主题。通过in子句直接提交。
    方法一的效率其实并不高,因为如果选择插入3000条记录到临时表,意味着就要发送3000次的insert语句到服务器上处理,而方法二则可以避免这个过程。
      

  3.   

    RE:  在数据库里写个游标不就可以了吗游标 实际处理也是发送3000次的INSERT语句