手机
当前位置:查字典教程网 >编程开发 >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 存储过程批量删除数据的语句】相关文章:

SqlServer创建存储过程

SqlServer 分页存储过程

sql中返回参数的值

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

sql2005数据导出方法(使用存储过程导出数据为脚本)

mssql server .ldf和.mdf的文件附加数据库的sql语句

Sql Server2005实现远程备份数据库

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

SQL编程:存储过程+事务处理+回滚+数据迁移

sqlserver 系统存储过程 中文说明

精品推荐
分类导航