批量操作时我们可以传入一个有规律的ID或则是其他唯一值字段的组合字符串,然后:select/update/inset......where  字段 in(传入的组合字符串),而且很多时候我们还涉及到其他操作,下面也有代码,就是将传入的组合字符串,重新分割后,再次对数据库进行操作

create proc prc_OrderBatchHandle
@Sgin int,
@BatchStr varchar(50),
@HandleAdmin varchar(50)
as
declare @MediumBatchStr varchar(500)
set @MediumBatchStr=','+@BatchStr+','//这里是将传入的字符串 前后各加一个,符号,重新组合成一个有规律的字符串,已方便下面切分操作
declare @prc_GroupStr nvarchar(600)
declare @prc_AddHandleMember nvarchar(600)

if(@Sgin=1)
begin
set @prc_GroupStr= N'update QD_OrderSheet set order_nowState=''成功'' where order_Id IN ('+@BatchStr+')'
exec sp_ExecuteSql @prc_GroupStr

set @prc_AddHandleMember= N'update QD_OrderSheet set order_handleUser='''+@HandleAdmin+''' where order_Id IN ('+@BatchStr+')'
exec sp_ExecuteSql @prc_AddHandleMember

end
else if(@Sgin=2)
begin
set @prc_GroupStr= N'update QD_OrderSheet set order_nowState=''失败'' where order_Id IN ('+@BatchStr+')'
exec sp_ExecuteSql @prc_GroupStr
set @prc_AddHandleMember= N'update QD_OrderSheet set order_handleUser='''+@HandleAdmin+''' where order_Id IN ('+@BatchStr+')'
exec sp_ExecuteSql @prc_AddHandleMember
while(LEN(@MediumBatchStr)>1)字符串分割后操作部分
begin
declare @value varchar(50)
select            @value=left(stuff(@MediumBatchStr,1,charindex(',',@MediumBatchStr),''),charindex(',',stuff(@MediumBatchStr,1,charindex(',',@MediumBatchStr),''))-1)
declare @ReturnMoney money
select @ReturnMoney= order_Price from QD_OrderSheet where order_Id=cast(@value as int)
declare @BuyUser varchar(50)
select @BuyUser=order_BuyAccount from QD_OrderSheet where order_Id=cast(@value as int)
declare @Suppler varchar(50)
select @Suppler=order_supplierName from QD_OrderSheet where order_Id=cast(@value as int)
update QD_UserSheet set user_Money=user_Money+@ReturnMoney where user_Account=@BuyUser
update QD_SuppierSheet set Supplier_Money=Supplier_Money-@ReturnMoney where Supplier_Account=@Suppler
set @MediumBatchStr=stuff(@MediumBatchStr,1,LEN(@value)+1,'')
end 分割后结束部分

end

else

begin
set @prc_GroupStr= N'delete from QD_OrderSheet where source_Id IN('+@BatchStr+')'
exec sp_ExecuteSql @prc_GroupStr
end

sql传入组合字符串批量操作的更多相关文章

  1. sql 表值函数-将一个传入的字符串用2中分隔符拆分成临时表

    USE [tms]GO/****** Object: UserDefinedFunction [dbo].[fn_StrToTable_Double] Script Date: 2017/4/26 9 ...

  2. SQL记录-PLSQL字符串

    PL/SQL字符串 PL/SQL字符串实际上是一个可选的尺寸规格字符序列.字符可以是数字,字母,空白,特殊字符或全部的组合. PL/SQL提供了三种类型的字符串: 固定长度字符串:在这样的字符串,程序 ...

  3. SQL Server:字符串函数

    以下所有例子均Studnet表为例: 1. len():计算字符串长度 len()用来计算字符串的长度,每个中文汉字或英文字母都为一个长度 select sname, len(sname) from ...

  4. SQL Server 分隔字符串函数实现

    在SQL Server中有时候也会遇到字符串进行分隔的需求.平时工作中常常遇到这样的需求,例如:人员数据表和人员爱好数据表,一条人员记录可以多多人员爱好记录,而往往人员和人员爱好在界面展示层要一并提交 ...

  5. Swift3.0语言教程组合字符串

    Swift3.0语言教程组合字符串 Swift3.0语言教程组合字符串,当开发者想要将已经存在的字符串进行组合,形成一个新的字符串,可以使用NSString中的两个方法,分别为appending(_: ...

  6. 在SQL中取出字符串中数字部分或在SQL中取出字符部分

    在SQL中取出字符串中数字部分或在SQL中取出字符部分 编写人:CC阿爸 2013-10-18 近来在开发一个项目时,一包含数字的字符串,需要取出中间的数字部分进行排序.经过baidu搜索.并结合自己 ...

  7. .NET SQL Server连接字符串句法

    .NET SQL Server连接字符串句法 数据库的连接性已经发展成为应用程序开发的一个标准方面.数据库连接字符串现在已经成为每个项目的标准必备条件.我发现自己为了找到所需要的句法,经常要从另外一个 ...

  8. SQL点滴33—SQL中的字符串操作

    原文:SQL点滴33-SQL中的字符串操作 计算字符串长度len()用来计算字符串的长度 select sname ,len(sname) from student 字符串转换为大.小写lower() ...

  9. MS SQL Server 数据库连接字符串详解

    MS SQL Server 数据库连接字符串详解 原地址:http://blog.csdn.net/jhhja/article/details/6096565 问题 : 超时时间已到.在从池中获取连接 ...

随机推荐

  1. Java-接口练习

    编写2个接口:InterfaceA和InterfaceB:在接口InterfaceA中有个方法voidprintCapitalLetter():在接口InterfaceB中有个方法void print ...

  2. 爱上MVC3~布局页的继承与扩展

    回到 目录 在MVC3中引入了Razor引擎,这对于代码的表现力上是个突破,同时母板页也变成了_Layout,所以,我们就习惯上称它为布局页面,在razor里,布局页面是可以继承的,即,一个上下公用的 ...

  3. position格式布局

    布局大体分为: 位置--position 绝对坐标 absolute 绝对定位的元素 不受其他位置影响 可通过z-index进行层次分级 body来定位自己 相对坐标 设置  top和left之后 r ...

  4. [Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例二.

    为了更好的排版, 所以将IK分词器的安装重启了一篇博文,  大家可以接上solr的安装一同查看.[Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例一: http://ww ...

  5. [Spring框架]Spring JDBCTmplate基础入门总结.

    前言:前面有讲过 Spring IOC以及AOP的基本使用方法, 这里就再来讲下Spring JDBCTemplate的使用方法. 一, 概述这里先说一下Spring 整合的一些模板: 从上图中可以看 ...

  6. Atitit 图像处理之理解卷积attilax总结

    Atitit 图像处理之理解卷积attilax总结 卷积的运算可以分为反转.平移,相乘,求和.        在图像处理中,图像是一个大矩阵,卷积模板是一个小矩阵.按照上述过程,就是先把小矩阵反转,然 ...

  7. Cocos2d-x 3.X手游开发实例详解

    Cocos2d-x 3.X手游开发实例详解(最新最简Cocos2d-x手机游戏开发学习方法,以热门游戏2048.卡牌为例,完整再现手游的开发过程,实例丰富,代码完备,Cocos2d-x作者之一林顺和泰 ...

  8. 每天一个linux命令(36):diff 命令

    diff 命令是 linux上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方.diff在命令行中打印每一个行的改动.最新版本的diff还支持二进制文件.diff程序的 ...

  9. hibernate(八) Hibernate检索策略(类级别,关联级别,批量检索)详解

    序言 很多看起来很难的东西其实并不难,关键是看自己是否花费了时间和精力去看,如果一个东西你能看得懂,同样的,别人也能看得懂,体现不出和别人的差距,所以当你觉得自己看了很多书或者学了很多东西的时候,你要 ...

  10. Account problem-There may be a problem with your account. Please contact us. Sign out

    很多人在使用开发者账号AppleID的时候,都会碰到如下问题 There may be a problem with your account. Please contact us. 登录到苹果的开发 ...