【SqlServer存储过程(二维数组参数)调用】

本文详细探讨了如何在SQLServer中创建和使用存储过程,特别是处理二维数组参数的方法。通过实例展示了如何传递二维数组到存储过程,并进行有效的数据操作,包括插入、更新和查询。这对于提升数据库操作效率和代码复用具有重要意义。
摘要由CSDN通过智能技术生成

-- ================== 以下是外部调用存储过程的方式:======================
_SCLLID --存储过程名 @ICStockBill='-1,345,2021-12-05,8185,7403,349,administrator',--表头数组参数(用,分割) 
/*** @ICStockBillEntry='1443,2021120100071,1100,40,751||1443,2021120100068,1100,40,734||1369,2021120100045,980,40,718.8||1369,2021120100037,980,40,717.4||1389,2021112300105,980,40,100.2||1389,2021112300106,980,40,100'--表体二维数组参数(用||和,分割) ***/
@ICStockBillEntry='1443,2021120100071,1100,40,751'--表体一维数组参数(用,分割)

-- ================== 以下是存储过程的内容:======================
-- Author:		zjh
-- Create date: 2021-12-05
-- Description:	生产领料
-- ==============================================
CREATE PROCEDURE [dbo].[_SCLLID]
@ICStockBill varchar(100),
@ICStockBillEntry varchar(1500)
AS
BEGIN	
SET NOCOUNT ON;
declare @p2 int
exec GetICMaxNum 'ICStockBill',@p2 output,1,16394
declare @BillNo varchar(20)
declare @ftrantype varchar(20)
set @ftrantype = 24--领料单
update ICBillNo set FCurNo=FCurNo+1 where FBillID=@FTranType			set @BillNo=(select FFormat from ICBillNo where FBillID= @FTranType)			declare @lenBm int
set @LenBm=len(@BillNo)
set @BillNo=right(@BillNo+cast((select FCurNo from ICBillNo where FBillID= @FTranType) as varchar(12)),@LenBm)
set @BillNo=(select FPreLetter from ICBillNo where FBillID= @FTranType)+@BillNo
declare @tmpindex int = 1
declare @oldindex int = 1
declare @m1 int
set @tmpindex=CHARINDEX(',',@ICStockBill)
set @m1=cast(SUBSTRING(@ICStockBill,@oldindex,@tmpindex-@oldi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值