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

    存储过程(sqlserver)
    IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[DELETE_VEHICLE_DATA]') AND OBJECTPROPERTY(id, N'IsProcedure') = 1) DROP PROCEDURE [dbo].[DELETE_VEHICLE_DATA] GO --存在则删除 go CREATE PROCEDURE DELETE_VEHICLE_DATA( @vehicleId varchar(max) --参数 格式 "1,2,3,5,6" ) AS Declare @temp Table (a varchar(100)) --创建临时表 Declare @Ret as int BEGIN --把参数@vehicleId分割成int数组并插入临时表@temp Declare @i Int Set @vehicleId = RTrim(LTrim(@vehicleId)) Set @i = CharIndex(',',@vehicleId) While @i >= 1 Begin Insert @temp Values(Left(@vehicleId,@i-1)) Set @vehicleId = SubString(@vehicleId,@i+1,Len(@vehicleId)-@i) Set @i = CharIndex(',',@vehicleId) End If @vehicleId <> '' Insert @temp Values (@vehicleId) --插入临时表 delete [车辆数据] where 编号 in (select * from @temp) --执行为删除操作 通过id与临时表中的int数组对照 IF @@ROWCOUNT>0 Set @Ret=1 ELSE Set @Ret=0 END Return @Ret

      后台代码使用 StringBuilder 拼接的,记得截取字符串最后一个逗号

      StringBuilder ids = new StringBuilder();

      for (int i = 0; i <data.Count; i++)

       {

        ids.Append(item.nID).Append(",");

      }

      调用删除方法:DeleteData(ids.ToString().Substring(0, ids.Length - 1))

       

  • 相关阅读:
    【Python入门自学笔记专辑】——面向对象编程-实例方法11.3.6
    最简单的轮播广告(原生JS)
    (转)JavaScript一:为什么学习JavaScript?
    JAVASCRIPT中经典面试题
    使用AngularJS实现简单:全选和取消全选功能
    canvas绘制经典折线图(一)
    前端总结
    PHP如何连接MySQL数据库
    PHP预定义变量
    PHP语法
  • 原文地址:https://www.cnblogs.com/codehistory/p/13489567.html
Copyright © 2011-2022 走看看