sql server 存储过程 中处理json
来源:互联网 发布:log4j flume源码 编辑:程序博客网 时间:2024/06/05 01:57
ALTER PROCEDURE [dbo].[sp_QueryLIST_Json](@compid VARCHAR(10),@Opid VARCHAR(10),@status INTEGER ,@string VARCHAR(max))AS-- DECLARe @string VARCHAR(8000)-- SET @string ='[ { "mark": "0", "CContractCode": "srq0040", "ContractUID": "{sssss}", "stgid": "0", "NotPumpPrice": "1.11111", "PumpPrice": "1.11111", "TowerCranePrice": "1.11111", "PriceDifference": "1.11111", "PriceETime": "2017-9-9", "CreateTime": "2017-9-9" }, { "mark": "0", "CContractCode": "srq0041", "ContractUID": "{sssss}", "stgid": "0", "NotPumpPrice": "1.11111", "PumpPrice": "1.11111", "TowerCranePrice": "1.11111", "PriceDifference": "1.11111", "PriceETime": "2017-9-9", "CreateTime": "2017-9-9" } ]'-- IF @status =1 --json 中有10 个字段 BEGIN declare @sint INTEGER -- 数据条数 SELECT @sint = count(1) from parseJSON(@string) --sint fuzhi declare @CContractCode VARCHAR(50) declare @ContractUID VARCHAR(50)declare @stgid VARCHAR(50) declare @NotPumpPrice DECIMAL(18,6)declare @PumpPrice DECIMAL(18,6) declare @TowerCranePrice DECIMAL(18,6)declare @PriceDifference DECIMAL(18,6)declare @PriceETime VARCHAR(20)declare @CreateTime VARCHAR(20) -- "mark": "0",-- "CContractCode": "srq0040",-- "ContractUID": "{sssss}",-- "stgid": "0",-- "NotPumpPrice": "1.11111",-- "PumpPrice": "1.11111",-- "TowerCranePrice": "1.11111",-- "PriceDifference": "1.11111",-- "PriceETime": "2017-9-9",-- "CreateTime": "2017-9-9"DECLARE @n INTEGERset @n = 1WHILE(@n<=@sint/10)BEGINDECLARE @send INTEGERDECLARE @statr INTEGERSELECT @send = @n*10SELECT @statr =@send-9-- SELECT @statr statrSELECT @CContractCode=StringValue from (SELECT * FROM ( SELECT *, row_number() OVER( ORDER BY sequenceNo) k from parseJSON(@string)) as s WHERE k BETWEEN @statr and @send ) f where jname = 'CContractCode'SELECT @ContractUID=StringValue from (SELECT * FROM ( SELECT *, row_number() OVER( ORDER BY sequenceNo) k from parseJSON(@string)) as s WHERE k BETWEEN @statr and @send ) f where jname = 'ContractUID'Select @stgid=StringValue from (SELECT * FROM ( SELECT *, row_number() OVER( ORDER BY sequenceNo) k from parseJSON(@string)) as s WHERE k BETWEEN @statr and @send ) f where jname = 'stgid'Select @NotPumpPrice=StringValue from (SELECT * FROM ( SELECT *, row_number() OVER( ORDER BY sequenceNo) k from parseJSON(@string)) as s WHERE k BETWEEN @statr and @send ) f where jname = 'NotPumpPrice'Select @PumpPrice=StringValue from (SELECT * FROM ( SELECT *, row_number() OVER( ORDER BY sequenceNo) k from parseJSON(@string)) as s WHERE k BETWEEN @statr and @send ) f where jname = 'PumpPrice'Select @TowerCranePrice=StringValue from (SELECT * FROM ( SELECT *, row_number() OVER( ORDER BY sequenceNo) k from parseJSON(@string)) as s WHERE k BETWEEN @statr and @send ) f where jname = 'TowerCranePrice'Select @PriceDifference=StringValue from (SELECT * FROM ( SELECT *, row_number() OVER( ORDER BY sequenceNo) k from parseJSON(@string)) as s WHERE k BETWEEN @statr and @send ) f where jname = 'PriceDifference'Select @PriceETime=StringValue from (SELECT * FROM ( SELECT *, row_number() OVER( ORDER BY sequenceNo) k from parseJSON(@string)) as s WHERE k BETWEEN @statr and @send ) f where jname = 'PriceETime'Select @CreateTime=StringValue from (SELECT * FROM ( SELECT *, row_number() OVER( ORDER BY sequenceNo) k from parseJSON(@string)) as s WHERE k BETWEEN @statr and @send ) f where jname = 'CreateTime'exec sp_insertUpDel_SM_ContractGradePriceDetail 0,@compid,@CContractCode,@ContractUID,@Opid,@stgid,@NotPumpPrice,@PumpPrice,@TowerCranePrice,@PriceDifference,@PriceETime,@CreateTime,NULLSELECT @n=@n+1END END
阅读全文
0 0
- sql server 存储过程 中处理json
- sql存储过程中处理json数据
- SQL Server-- 存储过程中错误处理
- SQL Server-- 存储过程中错误处理
- SQL Server-- 存储过程中错误处理
- SQL Server中使用异常处理调试存储过程
- SQL Server中使用异常处理调试存储过程
- SQL Server中使用异常处理调试存储过程
- sql server中存储过程
- sql server中调试扩展存储过程
- sql server中扩展存储过程
- sql server中扩展存储过程大全
- sql server中扩展存储过程
- sql server中扩展存储过程
- sql server中扩展存储过程大全
- sql server中扩展存储过程大全
- sql server中扩展存储过程大全
- sql server中扩展存储过程大全
- 第 7 章 类
- Python 内置函数
- 跳台阶、跳台阶升级版(算法)
- 互斥锁-条件变量-信号量总结
- HDU3966 Aragorn's Story【树链剖分】
- sql server 存储过程 中处理json
- android 如何解析复杂的json数据
- 安卓获取adb设备名称
- opencv检测直线方法——形态学方法
- apollo简单使用
- Sping 学习笔记8——SSH框架中事务的声明与配置
- Ubuntu 16.4 默认安装的mysql 修改默认编码
- Android MediaPlayer的生命周期
- Android开发艺术探究(一):Activity的生命周期和启动模式