zoukankan      html  css  js  c++  java
  • 存储过程批量删除

    今天闲来无事,把批量删除由代码删除 改成存储过程删除 

    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER procedure [dbo].[pr_deletepackage]--------套餐批量删除 
    (
    @ids nvarchar(100) --参数 (1,2,3,)
    )
    as
    declare @temp table(a varchar(100))--创建临时表
    --------把参数@ids分割成int数组 判断是否满足删除条件
    declare @n Int
    declare @lid int--临时ID
    declare @count int --判断是否使用
    declare @sercount int --判断该产品下是否存在服务
    set @ids=RTRIM(LTRIM(@ids))
    set @n=CHARINDEX(',',@ids)
    while @n>=1
    begin
     set @lid=Left(@ids,@n-1) --截取当前ID
     set @count= (select COUNT(*) from t_order_package  where pi_id=@lid) --判断当前服务是否已经被使用
     set @sercount=(select COUNT(*) from t_package_service where pi_packageid=(select pi_packageid  from t_packages_info where pi_id=@lid)) --判断当前套餐下是否存在服务
     print @count
     print @sercount
     if (@count=0 and @sercount=0) --当前套餐没有使用 且 没有 服务的情况下 将id 插入临时表
     begin
     Insert @temp Values(@lid)
     end
     Set @ids = SubString(@ids,@n+1,Len(@ids)-@n)
     Set @n = CharIndex(',',@ids)
    end
    if @ids<>''
    update t_packages_info set pi_status=-1 where pi_id in(select * from @temp)  --删除 临时表里的id

    最后一个id后 必须加, 号! 存储过程一直是我的弱项,多写写 没坏处!

  • 相关阅读:
    冒泡排序的PHP实现 Bubble Sort
    什么是排序算法
    使用memcache 心得和注意事项
    Memcache存储机制与指令汇总
    php中ob缓存机制
    防止php重复提交表单更安全的方法
    Nginx负载均衡配置实例详解
    FAT和EXFAT文件系统
    uCOS-II模拟(VS2010&WIN32)
    MIPS汇编指令集
  • 原文地址:https://www.cnblogs.com/zplvpp520/p/6908550.html
Copyright © 2011-2022 走看看