sql太长
⑴ sql查询语句太长,超过128
存储过程处理吧。
存储过程的优点:
因为存储过程是T-sql语句的批处理,再加上存储过程是预编译的,再次执行此存储过程的时候就不需要编译了,速度方面也大大的提升了.
直接用一条查询语句的话那每次执行的话,都需要编译一次,并且加大了网络流量,还有一点,就是查询条件变了还需改动VB源代码,还不如存储过程直接修改SQL语句就OK了。
还有一个就是解决了编程软件的字符长度的限制。
实现代码:
create proc procname
as
begin
select (你需要的查询语句)
end
VB源的执行: exec procname
⑵ sql存储过程耗时太长
多长都有可能,40是很正常的。
1.尽量优化语句,尽量少用游标。
2.修改较为常用的表要注意,最好先在临时表中作好运算和其它处理,最后在修改这些表,以免较慢的存储过程长时间锁定表记录,影响数据正常使用。
3.将连接超时和命令超时适当扩大,以免超时错误。
⑶ sql语句太长,能否拆开执行
简单的回答,到目前为止,没有能支持SQL语句拼接的数据库管理软件,也应该没这个必要。
下面是一些常识,有耐心可以看一下。
1、原则上,MS SQL SERVER对SQL条件语句的长度不作限制,起码当前没有人有实际的单条语句没法执行完成的报道,应该几千个字符以内的单条SQL语句都能正常的在MS SQL附带的“SQL Server Management Studio”或“企业管理器”中执行,要不,你试试,也许你就是第一个发现问题的人。
2、如果是编程,使用某些编程软件向SQL Server发送SQL语句的话,受限于编程环境下,字符串的长度或别的因素,可能会有某些不同,如果是那样的话,最常见的做法是将多条SQL语句做成存储过程,放在SQL Server数据库中,程序只需要发送初始条件进行存储过程的调用即可。
3、也就是说,复杂的SQL语句,绝大多数专业工程人员一般都不会用通过客户端直接发向SQL 服务器的方式去执行。如果只是临时的要进行一些SQL数据库的操作,也可以直接在SQL相应的管理工具中做。
⑷ SQL提取的一条记录太长,而页面只想显示10个字,其余的想用省略号显示,怎么办
可以在SQL语句中加入substring函数,只取前面10个字。
如果在aps中,vb脚本里可以用left(mystring, 10)取出前面10个字符。