ALTER PROCEDURE [dbo].[PublishYearly_Delete]
    @in_YearlyID VARCHAR(500)
AS

BEGIN
    UPDATE PublishYearly SET Status=2 WHERE CHARINDEX(','+CAST(YearlyID AS VARCHAR(100))+',',@in_YearlyID)>0
END

ALTER PROCEDURE [dbo].[PublishYearly_GetList]
    @request_page_num INT,--基于0的,如第一页@page_size=0
    @page_size INT,
    @Year INT,
    @Status INT,
    @PublishDate DATETIME,
    @ExpiredDate DATETIME
AS
BEGIN
    DECLARE @sql NVARCHAR(Max)
    SET @sql='SELECT *,ROW_NUMBER() OVER (ORDER BY YearlyID) AS RowNumber FROM PublishYearly WHERE 1=1'
    
    IF(@Year!=0)
        SET @sql=@sql+' AND Year='+CAST(@Year AS VARCHAR(10));
        
    IF(@Status!=0)
        SET @sql=@sql+' AND Status='+CAST(@Status AS VARCHAR(10));
        
    IF(@PublishDate IS NOT NULL)
        SET @sql=@sql+' AND PublishDate>='''+CONVERT(VARCHAR(20),@PublishDate,120)+'''';
        
    IF(@ExpiredDate IS NOT NULL)
        SET @sql=@sql+' AND ExpiredDate<='''+CONVERT(VARCHAR(20),@ExpiredDate,120)+'''';
        
    PRINT  ('SELECT COUNT(*) FROM ('+@sql+') _temp')

EXEC ('SELECT COUNT(*) FROM ('+@sql+') _temp')
    
    SET @sql='SELECT *,(CASE Status WHEN ''1'' THEN ''正常'' ELSE ''无效'' END) AS StatusN FROM (SELECT * FROM ('+ @sql+N') _temp WHERE RowNumber BETWEEN '+CAST(@request_page_num*@page_size+1 AS VARCHAR(10))+' AND '+CAST((@request_page_num+1)*@page_size AS VARCHAR(10))+') tt '
    
    PRINT (@sql)
    EXEC (@sql)

END

转载于:https://www.cnblogs.com/stalwart/archive/2011/04/02/2003658.html

sql批量删除和条件查询相关推荐

  1. mybatis动态sql,批量插入,批量删除,模糊查询

    trim可以去除sql语句中多余的and关键字,逗号,或者给sql语句前拼接 "where"."set"以及"values(" 等前缀,或者 ...

  2. MySQL基础(八):模糊查询的SQL语句、where条件查询、比较运算符查询、逻辑运算符查询、模糊查询、范围查询、空判断查询

    文章目录 where条件查询 1. where条件查询的介绍 2. 比较运算符查询 3. 逻辑运算符查询 4. 模糊查询 5. 范围查询 6. 空判断查询 7. 小结 where条件查询 学习目标 能 ...

  3. SQL批量删除数据操作

    SQL批量删除数据操作 文章目录 SQL批量删除数据操作 sql语句 DELETE和TRUNCATE区别 sql语句 --删除数据(避免这么写,删除表全部数据) DELETE FROM `studen ...

  4. SQL 中的多条件查询

    在应用程序开发中,多条件查询是个经常遇到的情况,最简单最麻烦的方法是把所有的可能情况都考虑到,但是无疑是繁琐的,而且很容易漏掉可能的情形,下面是SQL语句实现多条件查询的情况 select * fro ...

  5. sql server2008 批量删除发生:查询处理器用尽了内部资源,无法生成查询计划。这种情况很少出现,只有在查询极其复杂或引用了大量表或分区时才会出现。请简化查询

    昨晚跑了一个程序:批量删除一些数据,我sql语句写的有点烂,在where条件时候用的是   IN .所以最后发生异常:查询处理器用尽了内部资源,无法生成查询计划.这种情况很少出现,只有在查询极其复杂或 ...

  6. 学习 SQL 语句 - Select(3): 条件查询与模糊查询

    Where 用来指定查询条件; Like 和 Not Like 来指定模糊条件; 模糊条件中: _ 表示任一字符; % 表示任一字符串; [] 表示一个集合. 本例效果图: 代码文件: unit Un ...

  7. 茴香豆的n种写法之②——Sql据多个条件 查询每个条件的前N条记录

    --------------------------------- -- Author: liangCK 小梁 -- Title : 查每个分组前N条记录 -- Date : 2008-11-13 1 ...

  8. SQL批量删除与批量插入

    批量删除: DELETE FROM MyTable WHERE ID IN (1,2); 批量插入: INSERT INTO MyTable(ID,NAME) VALUES(1,'123'); IN ...

  9. SQL SERVER数据库多条件查询

    例如:查询挂号超500的数据 select CONVERT(VARCHAR(10),DGH,23),COUNT(*) from yxhis2017..VTBMZGHMX2017 where bth=0 ...

最新文章

  1. 卡尔曼滤波:从入门到精通
  2. 飞桨深度学习开源框架2.0抢先看:成熟完备的动态图开发模式
  3. 重要提醒--to 小爱
  4. android 酷狗demo_Android仿酷狗旋转界面功能-自定义控件实现
  5. Linux GCC用法
  6. RESTful API接口文档规范小坑
  7. redis cli 删除key 模糊_Redis集群及雪崩
  8. 详谈DHCP SNOOP等多方面的安全设置(2)
  9. 调用API发送短信python
  10. RTX5 | 内存池04 - 共享内存用于线程之间的通讯(阻塞方式)- 使用信号量
  11. linux打开文件异常
  12. 启航~算法刷题第一天
  13. 苹果Mac应用软件加密及网站黑名单工具:​​​​Cisdem AppCrypt
  14. python 密码安全_python密码安全程序
  15. oracle卸载步骤图解,Oracle安装卸载图文教程详解
  16. 【业务安全04】万能用户名及万能密码
  17. Python天空颜色渐变
  18. Retrofit统一异常处理
  19. win10 更新计算机时间,win10电脑时间不能自动更新
  20. day-9 字符串笔记

热门文章

  1. 用C#连接到数据库实现学生学籍管理系统
  2. Mybatis Plus配置以及单表操作
  3. python%20是什么运算
  4. 如果有1千万以后不再有收入,没有任何理财方式,够花一辈子吗?
  5. 为什么现在辞职的年轻教师越来越多?
  6. 正常人一天步行走路多少为宜
  7. 实体门店如何做促销?
  8. 35岁以后,被社会无情抛弃,放下面子赚钱
  9. 华为和谷歌在全球开发者眼里二选一,谁会获得胜利?
  10. QUdpSocket