当前位置:主页>销售管理软件> 列表

这种参数如何传递? 找用友u8财务软件下载

进销存软件版1楼: 我有一个过程
CREATE PROCEDURE MBM_PRO
@PN varchar(100)
AS
TRUNCATE TABLE LS_MBM
insert INTO LS_MBM
(BMWHS, BPROD, Fprod, BCHLD,
BQREQ, BDDIS,VV_NO)
SELECT DISTINCT
BMWHS, BPROD, BPROD AS Fprod, BPROD AS BCHLD,
1 AS BQREQ, BDDIS,0
FROM MBM
GROUP BY BMWHS, BPROD, BPROD, BPROD, BDDIS
HAVING (BPROD IN (@PN)) AND
(BDDIS = 99999999)
ORDER BY BMWHS, BPROD
GO

使用EXECUTE MBM_PRO @PN=''F45666677'',''AB1''执行总是报参数错误,请指教

2楼: EXECUTE 存储过程名 参数值 如汽车维修管理软件

3楼: 这样就行: EXECUTE MBM_PRO ''F45666677''

4楼: 你的存储过程只有一个参数,你执行时输入两个参数,当然错了!

5楼: 你是要帶兩個或兩個以上的參數就要修改過程。
CREATE PROCEDURE MBM_PRO
@PN varchar(100)
AS
Declare @sql varchar(2000)
TRUNCATE TABLE LS_MBM
set @sql=''nsert INTO LS_MBM
(BMWHS, BPROD, Fprod, BCHLD,


BQREQ, BDDIS,VV_NO)
SELECT DISTINCT
BMWHS, BPROD, BPROD AS Fprod, BPROD AS BCHLD,
1 AS BQREQ, BDDIS,0
FROM MBM
GROUP BY BMWHS, BPROD, BPROD, BPROD, BDDIS
HAVING (BPROD IN (''+@PN+'')) AND
(BDDIS = 99999999)
ORDER BY BMWHS, BPROD''
GO
然後你就可以執行過程:EXECUTE MBM_PRO ''F45666677,AB1''

6楼: 我并非要传递两个参数,而是我的参数是IN的两个条件,谢谢!

进销存软件版7楼: 前面得高手說得很對啊。
參數類型和個數是跟你的存儲過程對應的。
EXECUTE MBM_PRO ''F45666677''

8楼: 如果是IN的话,只能动态执行SQl语、句,否则SQl会当成一个变量,即
改成
CREATE PROCEDURE MBM_PRO
@PN varchar(100)
AS
Declare @sql varchar(2000)
TRUNCATE TABLE LS_MBM
set @sql=''nsert INTO LS_MBM
(BMWHS, BPROD, Fprod, BCHLD,
BQREQ, BDDIS,VV_NO)
SELECT DISTINCT
BMWHS, BPROD, BPROD AS Fprod, BPROD AS BCHLD,
1 AS BQREQ, BDDIS,0
FROM MBM
GROUP BY BMWHS, BPROD, BPROD, BPROD, BDDIS
HAVING (BPROD IN (''+@PN+'')) AND
(BDDIS = 99999999)
ORDER BY BMWHS, BPROD''
exec (@sql)
GO

9楼: 程序采用勇者的改法
这里还是HAVING (BPROD IN (@PN)) AND
调用EXECUTE MBM_PRO ''F45666677'''',AB1'' 试试

10楼: EXECUTE MBM_PRO ''F45666677'',''AB1'' 系统还是认为两个参数

11楼: 是EXECUTE MBM_PRO ''F45666677'''',AB1''

12楼: 不行 如用友u8财务软件下载

13楼: EXECUTE MBM_PRO ''''''F45666677'''',''''AB1''''''