sql调用存储过程传入数组方法
2017-11-22 00:01
246 查看
sqlserver 调用存储过程在传入参数的时候不能传入数组,所以一般将数据作为字符串
比如表格:
--方法一(用xml来拆分字符串)
declare @str varchar(1000)
declare @index int
set @index = 100
set @str = '10,20,30'
insert into [QPTreasureDB].[dbo].[RedPacketRandomData] select [RedPaceteIndex]
,[Score]
,[IsReceieved] From
(
Select RedPaceteIndex, CAST( '<v>'+REPLACE(Score,',','</v><v>')+'</v>' as xml) As xml,IsReceieved
From (select @index As RedPaceteIndex,@str As Score,0 As IsReceieved) S
) a outer apply ( Select x.y.value('.','varchar(100)') as Score
From a.xml.nodes('/v') x(y)) b
比如表格:
--方法一(用xml来拆分字符串)
declare @str varchar(1000)
declare @index int
set @index = 100
set @str = '10,20,30'
insert into [QPTreasureDB].[dbo].[RedPacketRandomData] select [RedPaceteIndex]
,[Score]
,[IsReceieved] From
(
Select RedPaceteIndex, CAST( '<v>'+REPLACE(Score,',','</v><v>')+'</v>' as xml) As xml,IsReceieved
From (select @index As RedPaceteIndex,@str As Score,0 As IsReceieved) S
) a outer apply ( Select x.y.value('.','varchar(100)') as Score
From a.xml.nodes('/v') x(y)) b
相关文章推荐
- 通用SQL存储过程分页以及asp.net后台调用的方法
- 存储过程和SQL语句比较及存储过程在C#中调用方法
- C# asp.net SQL存储过程写法Insert 插入语句,及其在asp.net中的调用方法
- j2ee调用Oracle带数组参数和游标的存储过程方法
- 调用DATASNAP+FIREDAC的远程方法有时会执行二次SQL或存储过程的BUG
- SqlParameter设定的value值为0时、调用的存储过程获取到的值却为null解决方法
- java 调用oracle存储过程传入 数组参数 不用纯jdbc连接
- 好东西:让存储过程的参数也能传入数组的方法
- java调用oracle存储过程传入参数为数组的处理
- 动态生成SQL的存储过程,以及调用方法
- EXTASPNET C# ASP.NET sql server 调用存储过程超时,解决方法
- 存储过程和SQL语句比较及存储过程在C#中调用方法(转)
- 存储过程和SQL语句比较及存储过程在C#中调用方法(转)
- 业务规则被划分在SQL 2005的存储过程与.NET 2005的CRL类方法中,统一调用的解决办法
- 数组、二维数组、及类型,存储过程调用.sql
- EXTASPNET C# ASP.NET sql server 调用存储过程超时,解决方法
- pl/sql developer中用execute调用存储过程弹出‘无效的sql语句’解决方法
- clob字段的值插入和查询N种方法【包括java调用存储过程传入clob参数】
- 存储过程和SQL语句比较及存储过程在C#中调用方法