我即将要在C#中构造一个形如DELETE FROM bus_XXX WHERE XXXID IN (23,45,645,654,6354,34543)的语句,IN后面的的ID可能几百甚至上千个。不知这种办法可行不?SQL语句的最长长度是多少呢?或者大家有没有其他方便节能的办法啊?请指点,先谢谢!

解决方案 »

  1.   

    1.用子查询方式可以吗?
    2.
    SQL语句的最长长度是多少呢?
    --------------
    好像与内存大小有关,2G吧!
      

  2.   

    用子查询方式好像是不行的,因为在客户端是选中TreeView中多条记录,得到ID,然后删除选中的。
    如果sql语句是2G的话,那应该是没问题的,但是C#中的String能支持到2G吗?
      

  3.   

    单个Tstring类型肯定是不行的,不过可以多个字符串拼接啊!
      

  4.   

    单个字符串(varchar)的长度不能超过8000,否则需要转成text类型。
      

  5.   

    问的是SQL语句可以写多长,
    好像是128M
    足够了吧
      

  6.   

    单纯的 SQL语句,如果是用Web程序写SQL语句,字符太长会丢失,如果用储存过程就不必考虑这样的问题啦