存储过程 批量删除记录


CREATE PROCEDURE XTJ_NewsInfor_DeleteArray

    @ID nvarchar(1000)

    as

    DECLARE @PointerPrev int

    DECLARE @PointerCurr int

    DECLARE @TId int

    Set @PointerPrev=1

    while (@PointerPrev < LEN(@ID))

    Begin

    Set @PointerCurr=CharIndex(',',@ID,@PointerPrev)

    if(@PointerCurr>0)

    Begin

    set @TId=cast(SUBSTRING(@ID,@PointerPrev,@PointerCurr-@PointerPrev) as int)

    Delete from XTJ_NewsInfor where ID=@TID

    SET @PointerPrev = @PointerCurr+1

    End

    else

    Break

    End

    --删除最后一个,因为最后一个后面没有逗号,所以在循环中跳出,需另外再删除

    set @TId=cast(SUBSTRING(@ID,@PointerPrev,LEN(@ID)-@PointerPrev+1) as int)

    Delete from XTJ_NewsInfor where ID=@TID

    GO

    下来要批量删除记录的话只要给存储过程传参1,2,3,4,……n,存储过程就会删除相应的记录



相关阅读:
PHP的面试题集
企业服务器SQL Server弱口令测试
输入mdb数据库即可将打包的mdb文件解包
Linux下Zend studio汉字显示为方块问题
结合WordPress结构进行适合自己的SEO
Asp.net Mvc Framework 九 (View与Controller交互)
javascript 日期函数
谈asp中数据库的事务处理及技巧
Linux时区同步问题(安装ntp软件过程)
CSS 循序渐进(四)表里春秋
Access 2002的三个实用技巧
Linux内核中常见内存分配函数介绍
Windows Vista中如何自定义语言栏图标
Windows Vista操作系统部署功能介绍
快速导航

Copyright © 2016 phpStudy | 皖ICP备18014864号-4