1.EXEC 执行Sql语句被截断的问题:

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 表名

sqlServer 存储过程执行遇到的问题及解决方案的更多相关文章

  1. JAVA使用JDBC技术操作SqlServer数据库执行存储过程

    Java使用JDBC技术操作SqlServer数据库执行存储过程: 1.新建SQLSERVER数据库:java_conn_test 2.新建表:tb_User 3.分别新建三个存储过程: 1>带 ...

  2. Sqlserver2005:深入了解php执行sqlserver存储过程procedure:odbc_exe、odbc_execute

    以下存储过程(伪代码): -- 伪代码,假设相关操作是成功的 alter procedure pr_test as begin set nocount on update tab set col='n ...

  3. sqlserver 创建对某个存储过程执行情况的跟踪

    有时候需要抓取执行存储过程时某个参数的值,有时候程序调用存储过程执行后结果不太对,不确定是程序的问题还是存储过程的问题,需要单独执行存储过程看结果 即可用下面的方法 --=============== ...

  4. SQLSERVER存储过程语法详解

    CREATE PROC [ EDURE ] procedure_name [ ; number ] [ { @parameter data_type } [ VARYING ] [ = default ...

  5. 解剖SQLSERVER 第十五篇 SQLSERVER存储过程的源文本存放在哪里?(译)

    解剖SQLSERVER 第十五篇  SQLSERVER存储过程的源文本存放在哪里?(译) http://improve.dk/where-does-sql-server-store-the-sourc ...

  6. sqlserver 存储过程中使用临时表到底会不会导致重编译

    曾经在网络上看到过一种说法,SqlServer的存储过程中使用临时表,会导致重编译,以至于执行计划无法重用, 运行时候会导致重编译的这么一个说法,自己私底下去做测试的时候,根据profile的跟踪结果 ...

  7. SqlServer存储过程学习笔记(增删改查)

    * IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值. CREATE PROCEDURE [dbo].[PR_NewsAffiche_AddNewsEntity] ( ...

  8. sqlserver存储过程学习笔记(一)基础知识篇(全)

    说出来有点丢人,做sqlserver应用系统近一年,竟然没有使用过存储过程,现在就好好的梳理一下对应知识,慢慢让其加入到我的项目中去吧. 存储过程的优点:1.运行效率高,提供了在服务器端快速执行sql ...

  9. SQLServer 存储过程嵌套事务处理

    原文:SQLServer 存储过程嵌套事务处理 某个存储过程可能被单独调用,也可能由其他存储过程嵌套调用,则可能会发生嵌套事务的情形. 下面是一种解决存储过程嵌套调用的通用代码,在不能确定存储过程是否 ...

随机推荐

  1. 【LeetCode】Best Time to Buy and Sell Stock IV

    Best Time to Buy and Sell Stock IV Say you have an array for which the ith element is the price of a ...

  2. 【转】利用 Bootstrap 进行快速 Web 开发

    原文转自:http://blog.jobbole.com/53961/ 了解如何使用 Bootstrap 快速开发网站和 Web 应用程序(包括移动友好型应用程序).Bootstrap 以 LESS ...

  3. 内存回收,Dispose,Close,Finalie(C#中的析构函数)

    NET中的资源分托管和非托管,所谓的托管是指CLR(通用语言运行时)中进行管理的资源,它可以由CLR自动进行内存回收. 也就是大家熟知的GC(垃圾回收机制). 而对于 非托管资源,比如数据库连接,CO ...

  4. 查询语句中select from where group by having order by的执行顺序

    查询语句中select from where group by having order by的执行顺序   1.查询中用到的关键词主要包含六个,并且他们的顺序依次为  select--from--w ...

  5. C++调试技巧

    编号:1010时间:2016年5月13日11:15:20功能:C++调试技巧http://www.cnblogs.com/lidabo/p/3631055.html

  6. 我看的公开课系列--《TED:对无知的追求》 by stuart firestein

    http://open.sina.com.cn/course/id_1047/ What scientists do is not just collect data and collect fact ...

  7. springmvc学习笔记---面向移动端支持REST API

    前言: springmvc对注解的支持非常灵活和飘逸, 也得web编程少了以往很大一坨配置项. 另一方面移动互联网的到来, 使得REST API变得流行, 甚至成为主流. 因此我们来关注下spring ...

  8. css透明度的设置 (兼容所有浏览器)

    一句话搞定透明背景! .transparent_class { filter:alpha(opacity=); -moz-opacity:0.5; -khtml-opacity: 0.5; opaci ...

  9. C陷阱与缺陷 1

    1,符号之间的空白被忽略 符号中间不能嵌入空白 2,词法分析中的贪心法 a---b 和 a-- -b相同 和 a- --b不同 1 a=b/*p //根据贪心法 /*被解释成 注释符,便不再往下读,直 ...

  10. C#部分---函数添加基本格式;

    格式1:没有参数,没有返回值 (无参无返) 添加函数: /// <summary> /// 累加求和的方法,没有参数,没有返回值 /// </summary> public v ...