手机
当前位置:查字典教程网 >编程开发 >mssql数据库 >sql 存储过程批量删除数据的语句
sql 存储过程批量删除数据的语句
摘要:复制代码代码如下:CreatePROCEDUREBatch_Delete@TableNamenvarchar(100),--表名@Field...

复制代码 代码如下:

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

【sql 存储过程批量删除数据的语句】相关文章:

SQL 数据库中的存储过程的参数问题

数据库存储过程分页显示

sql访问远程数据库

SqlServer 分页存储过程

SqlServer 2000、2005分页存储过程整理

一些SQL Server存储过程参数及例子

sql server中datetime字段去除时间的语句

SQL Server数据库的修复SQL语句

MsSql 存储过程分页代码 [收集多篇]

sqlserver 通用分页存储过程

精品推荐
分类导航