使用存储过程实现批量删除

摘要:
存储过程(sqlserver)IFEXISTS(SELECT*FROM dbo.sysobjectsWHERE id=object_id(N'[dbo].[DELETE_VEHICLE_DATA]')ANDOBJECTPROPERTY(id,N'IsProcedure')=1)DROPROCEDURE[dbo]。[DELETE_VEHICLE_DATA]GO--删除goCREATEPROCED(如果存在)
存储过程(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))

   

免责声明:文章转载自《使用存储过程实现批量删除》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇2017年最受欢迎的十大开源黑客工具Linux时间操作(time、gettimeofday)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

oracle 存储过程的基本语法 及注意事项

oracle 存储过程的基本语法 1.基本结构CREATE OR REPLACE PROCEDURE 存储过程名字(    参数1 IN NUMBER,    参数2 IN NUMBER) IS变量1 INTEGER :=0;变量2 DATE;BEGIN END 存储过程名字2.SELECT INTO STATEMENT  将select查询的结果存入到变...

数据库性能优化

MySQL基础表和数据 数据库访问优化法则 了解计算机系统的硬件基本性能指标,可以快速找到SQL的性能瓶颈点,下面是当前主流计算机性能指标数据。 从图上可以看到基本上每种设备都有两个指标: 延时(响应时间):表示硬件的突发处理能力; 带宽(吞吐量):代表硬件持续处理能力。 从上图可以看出,计算机系统硬件性能从高到代依次为: CPU——Cache(L1-L...

Sql server 实用技巧总结

一、 从主键说起CREATETABLE BingoT1 ( id INTIDENTITY(1, 1), NAMENVARCHAR(10),--姓名 IdentityNo VARCHAR(18),--身份证号码 LogDate DATETIMEDEFAULT(GETDATE()),--录入日期 PRIMARYKEY( id )--主键约束...

sql server维护解决方案(备份、检查完整性、索引碎片整理)

请务必看原文原文:https://ola.hallengren.com/frequently-asked-questions.html经常问的问题入门 如何开始使用SQL Server维护解决方案? SQL Server维护解决方案入门很容易。跟着这些步骤。 下载MaintenanceSolution.sql。 在脚本中,找到以下行:SET @Ba...

Java基础——Oracle(八)

一、流程控制语句 1) 循环语句 == loop .. end loop 简单的循环,至少被执行一次 create table userinfo (id number, name varchar2(30)) ; //创建一个表 create or replace procedure sp_04 (p_name varchar2) is //创建一个存...

SQLSERVER海量数据库的查询优化及分页算法数据库专栏,SQL Server (转)

探讨怎么在有着1000万条数据的ms sql server数据库中实现快速的数据提取和数据分页。以下代码说明了我们实例中数据库的“红头文件”一表的部分数据结构:create table [dbo].[tgongwen] (    --tgongwen是红头文件表名   [gid] [int] identity (1, 1) not null ,--本表的i...