sql 存储过程批量删除数据的语句
更新时间:2012年08月03日 16:58:51 作者:
sql 存储过程批量删除数据的语句,需要的朋友可以参考下
复制代码 代码如下:
Create PROCEDURE Batch_Delete
@TableName nvarchar(100), --表名
@FieldName nvarchar(100), --删除字段名
@DelCharIndexID nvarchar(1000)
as
DECLARE @PointerPrev int
DECLARE @PointerCurr int
DECLARE @TId NVARCHAR(50), @sql NVARCHAR(1000)
Set @PointerPrev = 1
while (@PointerPrev < LEN(@DelCharIndexID))
Begin
Set @PointerCurr = CharIndex(',',@DelCharIndexID,@PointerPrev)
if(@PointerCurr>0)
Begin
SET @TId = cast(SUBSTRING(@DelCharIndexID, @PointerPrev, @PointerCurr - @PointerPrev) As NVARCHAR(50))
SET @sql = 'Delete From '+ @TableName +' Where '+ @FieldName + ' = '''+ @TID+''''
Exec(@Sql)
Print('======='+@TId+'=======sql'+@Sql)
SET @PointerPrev = @PointerCurr + 1
Print(@PointerPrev)
End
else
Begin
Print('break')
Break
End
End
--删除最后一个,因为最后一个后面没有逗号,所以在循环中跳出,需另外再删除
SET @TId = cast(SUBSTRING(@DelCharIndexID, @PointerPrev, LEN(@DelCharIndexID) - @PointerPrev + 1) As NVARCHAR(50))
SET @sql = 'Delete From '+ @TableName +' Where '+ @FieldName + ' = '''+ @TID+''''
Exec(@Sql)
Print('======='+@TId+'=======sql'+@Sql)
GO
相关文章
如何把sqlserver数据迁移到mysql数据库及需要注意事项
由于项目起初用的是sqlserver数据库,后来改用了mysql数据库,那么如何把sqlserver迁移mysql呢?对sqlserver数据库迁移感兴趣的朋友可以参考下本篇文章2015-10-10SSB(SQLservice Service Broker) 入门实例介绍
前两天用了 MSsql里的 SSB委托机制,做了一个消息分发的小功能,在这里简单跟大家分享一下方法跟实例2013-04-04SQLserver存储过程写法与设置定时执行存储过程方法详解
一直都很想了解如何写存储过程,对于不熟悉的东西,总是觉得很神秘,下面这篇文章主要给大家介绍了关于SQLserver存储过程写法与设置定时执行存储过程方法的相关资料,需要的朋友可以参考下2023-03-03
最新评论