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))

       

  • 相关阅读:
    三、Pandas入门
    二、NumPy入门
    jQuery模拟angular的数据绑定
    ajax里的getJSON的用法
    SQL中关于传递参数为Null的示例
    原生ajax示例
    页面自增加示例
    angular1数据绑定例子
    angular2 工程目录结构介绍
    angular js环境配置
  • 原文地址:https://www.cnblogs.com/codehistory/p/13489567.html
Copyright © 2011-2022 走看看