分页存储过程:

CREATE PROCEDURE [dbo].[getData]
-- Add the parameters for the stored procedure here
@tb varchar(150),
@status varchar(800),
@indexpage int,
@endpage int
AS
declare @str varchar(5000)
if @status is null
BEGIN

set @str='SELECT * FROM (SELECT ROW_NUMBER() OVER (order by T.ID desc)AS Row, T.* from '+@tb+' T where '+@status+' ) TT WHERE TT.Row between '+str(@indexpage)+' and '+str(@endpage)
exec(@str)
END
else
BEGIN
set @str='SELECT * FROM (SELECT ROW_NUMBER() OVER (order by T.ID desc)AS Row, T.* from '+@tb+' T where '+@status+' ) TT WHERE TT.Row between '+str(@indexpage)+' and '+str(@endpage)
exec(@str)
END

CREATE PROCEDURE [dbo].[getExport]
@status varchar(5000),
@tb varchar(80),
@s nchar(2)
AS
declare @sql varchar(5000)
if @status is null
BEGIN
set @sql='select * from '+@tb+''
exec(@sql)
END
else
BEGIN
if @tb='OutPutComponet_View'
if @s='入库'
set @sql='select t.ComponentName as 配件名称, t.TypeName as 类型,t.Unit1 as 单位,t.Count as 数量,t.Price as 价格,(t.Count*t.Price) as 总金额,t.Supplier1 as 供应商,t.IsOld as 是否旧件,t.WareHouse1 as 仓库,t.AddDate as '+@s+' from '+@tb+' as t where '+@status+''
else
set @sql='select t.ComponentName as 配件名称, t.TypeName as 类型,t.Unit1 as 单位,t.Count as 数量,t.Price as 价格,(t.Count*t.Price) as 总金额,t.Company as 借用公司,t.IsOld as 是否旧件,t.WareHouse1 as 仓库,t.AddDate as '+@s+' from '+@tb+' as t where '+@status+''
else if @tb='BorrowDetail_View'
if @s='借出'
set @sql='select t.ComponentName as 配件名称,t.TypeName as 类型,t.Unit1 as 单位,t.Count as 数量,t.Price as 价格,t.Borrower 借用人,t.Company 借用公司,t.Department 借用部门,t.IsOld 是否旧件,t.AddDate as '+@s+' from '+@tb+' as t where '+@status+''
else
set @sql='select t.ComponentName as 配件名称,t.TypeName as 类型,t.Unit1 as 单位,t.Count as 数量,t.Price as 价格,t.Borrower 归还人,t.Company 归还公司,t.Department 归还部门,t.IsOld 是否旧件,t.AddDate as '+@s+' from '+@tb+' as t where '+@status+''
else set @sql='select * from '+@tb+''
exec(@sql)

END

转载于:https://www.cnblogs.com/anyben/p/4431584.html

sql 动态存储过程相关推荐

  1. ORACLE动态sql在存储过程中出现表或视图不存在的解决方法

    ORACLE动态sql在存储过程中出现表或视图不存在的解决方法 CREATE OR REPLACE PROCEDURE P_test is strsql varchar2(2000); BEGIN   ...

  2. PL/SQL -- 动态SQL

    --==================== -- PL/SQL --> 动态SQL --==================== 使用动态SQL是在编写PL/SQL过程时经常使用的方法之一.很 ...

  3. 完整SQL分页存储过程(支持多表联接)

    Code /*********************************************************   * 作    用:数据分页(完整SQL分页存储过程(支持多表联接)) ...

  4. QueryBuilder : 打造优雅的Linq To SQL动态查询

    首先我们来看看日常比较典型的一种查询Form 这个场景很简单:就是根据客户名.订单日期.负责人来作筛选条件,然后找出符合要求的订单. 在那遥远的时代,可能避免不了要写这样的简单接口: public i ...

  5. sql 动态写入数据库字段_批处理写入,动态SQL和参数化SQL,数据库的性能如何?...

    sql 动态写入数据库字段 最有效的数据库优化之一是批处理写入. 批处理写入受大多数现代数据库和JDBC标准的一部分支持,并且受大多数JPA提供程序支持. 普通数据库访问包括在单独的数据库/网络访问中 ...

  6. sql动态sql给变量复值_在动态SQL中使用变量

    sql动态sql给变量复值 Before we delve into these SQL concepts, note that I like to do all my development in ...

  7. 数据治理中Oracle SQL和存储过程的数据血缘分析

    数据治理中的一个重要基础工作是分析组织中数据的血缘关系.有了完整的数据血缘关系,我们可以用它进行数据溯源.表和字段变更的影响分析.数据合规性的证明.数据质量的检查等. 分析数据血缘的方法主要分为四类 ...

  8. SQL Server存储过程输入参数使用表值

    在2008之前如果我们想要将表作为输入参数传递给SQL Server存储过程使比较困难的,可能需要很多的逻辑处理将这些表数据作为字符串或者XML传入. 在2008中提供了表值参数.使用表值参数,可以不 ...

  9. 什么是存储过程?什么是触发器?SQL中存储过程与触发器的区别是什么?

    什么是存储过程?什么是触发器?SQL中存储过程与触发器的区别是什么? 存储过程是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名 ...

最新文章

  1. 用AI加速物联网落地,安富利的客户洞察和解决之道
  2. 00截断上传绕过_【文件上传与解析】文件上传与解析漏洞总结v1.0
  3. Django 一些 简单 配置
  4. Bootstrap框架系列 - 初识
  5. 简化Redis数据访问代码RedisTemplate
  6. 使用代码获得Social Media Channel绑定的service url
  7. 不能安装_钢厂为什么不能随意更换一氧化碳报警器安装位置
  8. R学习-小白笔记05
  9. android fragment 底部菜单栏,一句话搞定Android底部导航栏,一键绑定Fragment、ViewPager...
  10. Linux中防火墙端口查看,开启与关闭
  11. python函数参数用法_Python:函数参数类型及其用法
  12. PFQ: a Linux kernel module for packet capturing on multi-core architectures
  13. Python并行实现XML文件转换为XLSX文件
  14. 利用matlab绘制流场中的流线
  15. 操作系统学习笔记:大容量存储器的结构
  16. 【夏日护眼妙招】三种食物要多吃
  17. java中如何写像下雨_雨声像什么的比喻句,形容下雨的声音的句子
  18. Lucene.NET----站内搜索引擎资料(推荐-arvin)
  19. 当面试官问你期望的薪资是多少的时候,他是这样回答的...
  20. 基金会要申请银行账户吗

热门文章

  1. 循环斐波那契数列_每日一课 | 斐波那契数列的第n个项
  2. Unknown column 'password_lifetime' in 'field list';创建数据库时创建用户,修改用户时报错
  3. 电脑设置代理IP工具 可自动更新
  4. Spring Cloud微服务之业务物理删除(十)
  5. Microsoft Enterprise Library 5.0 系列(五) Data Access Application Block
  6. Nginx+MySQL+PHP+Memcache+Vsftpd一键安装包
  7. Linux Shell高级技巧(三)
  8. php模板技术 实例
  9. 用 PHP 读取和编写 XML DOM
  10. mysql 分库分表mycat部署