PROCEDURE [dbo].[SP_GetList]
(
@ParkUserId varchar(100),
@arrearsStatus int,
@lastID int=0, --最小ID
@pageSize int=10, --每页显示记录数
@CityCode varchar(50)
)
AS
declare @DICT_Berth nvarchar(100);
declare @strSQL0 nvarchar(max);--定义变量,注意类型
BEGIN set @DICT_Berth='DICT_Berth_'+@CityCode+''; IF(@arrearsStatus IS not NULL AND @arrearsOrderCode IS NULL) BEGIN
set @strSQL0='select top ('+convert(nvarchar(100),@pageSize)+') CONVERT(varchar(100), TB.StartTime,120) as StartTime
FROM TRA_Order AS tao where tao.ParkUserId='+@ParkUserId+' and
tao.AStatus= '+convert(nvarchar(100),@arrearsStatus)+'
AND (( '+convert(nvarchar(100),@lastID)+' > 0 AND tao.OrderId < '+convert(nvarchar(100),@lastID)+') OR '+convert(nvarchar(100),@lastID)+'=0 )
ORDER BY tao.OrderId , tao.AddTime DESC
'; END END
begin transaction
begin try
BEGIN EXECUTE SP_EXECUTESQL @strSQL0 ;
END
commit transaction
end try begin catch print '执行存储异常' rollback transaction end catch
where (( @lastID > 0 AND Meb_ID < @lastID) OR @lastID=0 )  and
CONVERT(varchar(100), MB.AddTime, 23)>CONVERT(varchar(100), @StartTime, 23)
AND
CONVERT(varchar(100), MB.AddTime, 23)<CONVERT(varchar(100), @EndTime, 23)
(( '+convert(nvarchar(100),@lastID)+' > 0 AND OrderID < '+convert(nvarchar(100),@lastID)+') OR '+convert(nvarchar(100),@lastID)+'=0 )
ORDER BY OrderID ,AddTime DESC

SQL分页参数传值 在存储过程中使用 动态SQL实现的更多相关文章

  1. 存储过程中执行动态Sql语句

    MSSQL为我们提供了两种动态执行SQL语句的命令,分别是EXEC和sp_executesql;通常,sp_executesql则更具有优势,它提供了输入输出接口,而EXEC没有.还有一个最大的好处就 ...

  2. 怎样SQL存储过程中执行动态SQL语句

    MSSQL为我们提供了两种动态执行SQL语句的命令,分别是EXEC和sp_executesql;通常,sp_executesql则更具有优势,它提供了输入输出接口,而EXEC没有.还有一个最大的好处就 ...

  3. mysql 存储过程中使用动态sql语句

    Mysql 5.0 以后,支持了动态sql语句,我们可以通过传递不同的参数得到我们想要的值 这里介绍两种在存储过程中的动态sql: set sql = (预处理的sql语句,可以是用concat拼接的 ...

  4. 在Oracle中执行动态SQL的几种方法

    转载:在Oracle中执行动态SQL的几种方法 以下为内容留存: 在Oracle中执行动态SQL的几种方法 在一般的sql操作中,sql语句基本上都是固定的,如:SELECT t.empno,t.en ...

  5. 使用CASE表达式替代SQL Server中的动态SQL

    原文:使用CASE表达式替代SQL Server中的动态SQL 翻译自: http://www.mssqltips.com/sqlservertip/1455/using-the-case-expre ...

  6. 【转】MySQL存储过程中使用动态行转列

    MySQL存储过程中使用动态行转列 最近做项目关于数据报表处理,然而数据库存储格式和报表展现形式不同,需要进行一下行转列的操作,在做上一个项目的时候也看了一下,但是后来换了读取方式,也就没深入研究这个 ...

  7. 【mybatis深度历险系列】mybatis中的动态sql

    最近一直做项目,博文很长时间没有更新了,今天抽空,学习了一下mybatis,并且总结一下.在前面的博文中,小编主要简单的介绍了mybatis中的输入和输出映射,并且通过demo简单的介绍了输入映射和输 ...

  8. mybatis中的动态SQL

    在实际开发中,数据库的查询很难一蹴而就,我们往往要根据各种不同的场景拼接出不同的SQL语句,这无疑是一项复杂的工作,我们在使用mybatis时,mybatis给我们提供了动态SQL,可以让我们根据具体 ...

  9. 解决存储过程中拼接的SQL字符串超长导致sql语句被截取的问题

    今天遇到了一个奇葩的问题:存储过程中的sql字符串拼接的太长,超出了分页存储过程执行sql参数的nvarchar(4000)的长度. 没办法,只能修改自己的存储过程,因为分页存储过程是不能动的. 开始 ...

随机推荐

  1. Html Agility Pack - API

    Html Agility Pack - APIParserSelectorsManipulationTraversingWriterUtilitiesAttributes HTML Parser HT ...

  2. Java Web 开发进阶案例之人事管理系统的完整实现

    技术:Java+ jsp + servlet+ javabeans +sql+tomcat   概述 本系统的主要任务是实现人事管理系统的系统化和自动化管理, 主要包括招聘入 职.到期离职和员工调动信 ...

  3. kubelet Pod status的状态分析

    CrashLoopBackOff: 容器退出,kubelet正在将它重启 InvalidImageName: 无法解析镜像名称 ImageInspectError: 无法校验镜像 ErrImageNe ...

  4. ios总结目录

    :iOS中er二维码的使用 http://www.cnblogs.com/gcb999/p/3183655.html :iOS中根据数据自动生成有规律的(UItextField和UILabel) IO ...

  5. (原+转)linux安装rtl 8812au驱动

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6806917.html 参考网址: http://www.linuxdiyf.com/viewartic ...

  6. Eclipse启动分析。。

    最近研究了一下Eclipse的启动过程,查了点资料,也有点收获.下面是搜集到的一个比较好的说明,共享下... 在Eclipse启动过程中,Eclipse.exe负责启动,也就是把startup.jar ...

  7. unix环境高级编程 读书笔记

    1.上班业余时间把书下载下来,第一章读完了,但是程序只能回家运行啦!Fighting!

  8. linux手工释放内存

    先使用sync命令以确保文件系统的完整性,sync 命令运行 sync 子例程,将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node.已延迟的块 I/O 和读写映射文件. 再执行下面任意一条命 ...

  9. mysql-binlog_cache_size

    二进制日志缓冲区吗,默认是32k.该参数是基于会话的,不要设置过大. 当事务的记录大于设定的binlog_cache_size时,mysql会把缓冲区中的日志信息写入一个临时文件中,所以该值也不能设置 ...

  10. (面试题)如何查找Oracle数据库中的重复记录

    今天做了个面试题:查找Oracle数据库中的重复记录,下面详细介绍其他方法(参考其他资料) 本文介绍了几种快速查找ORACLE数据库中的重复记录的方法. 下面以表table_name为例,介绍三种不同 ...