【求解】select语句有长度限制吗

jesons 2007-07-10 03:28:05

select * from students where 姓名 in ('张山','李四')

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

...全文
410 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
jesons 2007-07-10
  • 打赏
  • 举报
回复
知道的,给个准确答案!
Sunny2 2007-07-10
  • 打赏
  • 举报
回复
我记得以前查过这方面的资料,可以
ojuju10 2007-07-10
  • 打赏
  • 举报
回复
对于这种情况,写游标效率还是比较的高,速度还是比较的快
jesons 2007-07-10
  • 打赏
  • 举报
回复
RE: 在数据库里写个游标不就可以了吗

游标 实际处理也是发送3000次的INSERT语句
guduyidao 2007-07-10
  • 打赏
  • 举报
回复
在数据库里写个游标不就可以了吗
guoli0813 2007-07-10
  • 打赏
  • 举报
回复
建立数据库设计管理群33367343,欢迎大家加入
you_tube 2007-07-10
  • 打赏
  • 举报
回复
有长度限制的。
wenfenglee 2007-07-10
  • 打赏
  • 举报
回复
当然了,嵌套也是有条件限制,并不是无限制嵌套.
wenfenglee 2007-07-10
  • 打赏
  • 举报
回复
有的.语句长度有限制,2002好象是4000字符
jesons 2007-07-10
  • 打赏
  • 举报
回复
前台客户机在清单中选择3000个姓名,需要执行一个更新操作,应该有2种方法。

方法一:该客户机在服务器上创建一个临时表,然后插入3000个姓名到该临时表,最后
update .... where exists(select * from temptable where ....)

方法二:就是我发帖的主题。通过in子句直接提交。


方法一的效率其实并不高,因为如果选择插入3000条记录到临时表,意味着就要发送3000次的insert语句到服务器上处理,而方法二则可以避免这个过程。

fa_ge 2007-07-10
  • 打赏
  • 举报
回复
當然,可以最好用sql語句
迷失的空间 2007-07-10
  • 打赏
  • 举报
回复
建议把in后面的改为 select name from 表 然后才可以。
echiynn 2007-07-10
  • 打赏
  • 举报
回复
....

不嫌累嗎

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧