-- ================== 以下是外部调用存储过程的方式:====================== _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
【SqlServer存储过程(二维数组参数)调用】
最新推荐文章于 2022-07-22 16:32:21 发布
本文详细探讨了如何在SQLServer中创建和使用存储过程,特别是处理二维数组参数的方法。通过实例展示了如何传递二维数组到存储过程,并进行有效的数据操作,包括插入、更新和查询。这对于提升数据库操作效率和代码复用具有重要意义。
摘要由CSDN通过智能技术生成