sqlServer 存储过程执行遇到的问题及解决方案
2015-10-10 15:36
447 查看
1.EXEC 执行Sql语句被截断的问题:
Sql语句:
在存储过程执行过程中发现错误“……无法识别的字符”:检查发现sql语句被截断,
.首先检查sql语句的长度是否超出变量定义的长度,(很明显没有超出)
.然后 sql语句能够完整打印出来,而且执行没错误,此时就可以判断是EXEC出现的问题了,
解决方案:
在执行的sql变量上加上();如:
2. 高效清空表数据:TRUNCATE TABLE
与delete比较:
(1).DELETE
・DML语言
・可以回退
・可以有条件的删除
用法:DELETE FROM 表名
WHERE 条件
(2).TRUNCATE TABLE
・DD2.TRUNCATE TABLE
・DDL语言
・无法回退
・默认所有的表内容都删除
・删除速度比delete快。
用法:TRUNCATE TABLE 表名
Sql语句:
SET @sqlSel='SELECT '+@sqlField+', SUM(ISNULL(b.customsTariff_Sup,0))AS customsTariff_Sup,SUM(ISNULL(addedValueTax_Sup,0))AS addedValueTax_Sup,SUM(ISNULL(ConsumptTax_Sup,0))AS ConsumptTax_Sup, SUM(ISNULL(customsTariff_Ref,0))AS customsTariff_Ref,SUM(ISNULL(addedValueTax_Ref,0))AS addedValueTax_Ref,SUM(ISNULL(ConsumptTax_Ref,0))AS ConsumptTax_Ref, SUM(ISNULL(customs_Sup,0)) AS customs_Sup,SUM(ISNULL(addedValue_Sup,0))AS addedValue_Sup,SUM(ISNULL(Consumpt_Sup,0))AS Consumpt_Sup, SUM(ISNULL(customs_Ref,0)) AS customs_Ref,SUM(ISNULL(addedValue_Ref,0))AS addedValue_Ref,SUM(ISNULL(Consumpt_Ref,0))AS Consumpt_Ref, SUM(ISNULL(customs_NoSupRef,0))AS customs_NoSupRef,SUM(ISNULL(addedValue_NoSupRef,0))AS addedValue_NoSupRef,SUM(ISNULL(Consumpt_NoSupRef,0))AS Consumpt_NoSupRef from dbo.ClassifyCorrectionReportHead h right join dbo.ClassifyCorrectionReportBody b on h.ID=b.HEADID where '+@sqlWhere+' group by REPORTROWHEAD ' print @sqlSel exec @sqlSel --注释:@sqlSel 为变量 类型为 varchar(8000),@sqlField 为变量 类型为 varchar(500),@sqlWhere为变量 类型为 varchar(800)
在存储过程执行过程中发现错误“……无法识别的字符”:检查发现sql语句被截断,
.首先检查sql语句的长度是否超出变量定义的长度,(很明显没有超出)
.然后 sql语句能够完整打印出来,而且执行没错误,此时就可以判断是EXEC出现的问题了,
解决方案:
在执行的sql变量上加上();如:
exec (@sqlSel)
2. 高效清空表数据:TRUNCATE TABLE
与delete比较:
(1).DELETE
・DML语言
・可以回退
・可以有条件的删除
用法:DELETE FROM 表名
WHERE 条件
(2).TRUNCATE TABLE
・DD2.TRUNCATE TABLE
・DDL语言
・无法回退
・默认所有的表内容都删除
・删除速度比delete快。
用法:TRUNCATE TABLE 表名
相关文章推荐
- Mongodb 数据模型概念
- SparkSQL相关语句总结
- mysql数据库的一些常用命令(一)
- Redis详解——常用命令总结(完善中)
- mysql修改字符集utf8
- SQL Server 格式化时间format
- mysql按时间段查询
- [MySQL] - errno:150
- 连接Mysql提示Can’t connect to local MySQL server through socket的解决方法
- 利用oracle dbms_scheduler执行windows的bat脚本加载数据
- SQL总结(一)基本查询
- Redis详解——set集合操作
- Redis详解:hashes数据类型及操作
- Redis详解:lists数据类型及操作
- magent——memcached缓存代理服务器
- mysql 中文乱码
- MongoDB 用户认证
- oracle 11g 索引与分区的总结
- MyBatis学习(二) - SQL语句映射文件(1)resultMap
- ormlite的一对多详解