当一个存储过程调用时向其他不同的那个表中添加相同的数据,
create or replace procedure P_WM_ComDeman_EMG(v_djbh varchar2)
/*
需求计划完成处理
v_djbh 单据编号
*/
as
v_deptid varchar2(100);
v_specid varchar2(100);
v_NeedType varchar2(100);
V_UseDept varchar2(100);
v_editor varchar2(100);
v_BillYear varchar2(100);
v_billmonth varchar2(100);
v_deptid2 varchar2(100);
v_deptname2 varchar2(100);
begin
select deptid, specid, NeedType, UseDept, Editor,BillYear,billmonth,deptid2,deptname2
into v_deptid, v_specid, v_NeedType, V_UseDept, v_editor,v_BillYear,v_billmonth,v_deptid2,v_deptname2
from WM_MATDEMAND_EMG
where billid = v_djbh; --设置明细完成状态 和 冗余部门编号,专业名称,需求类别
update WM_MATDEMANDLIST_EMG
set
deptid = v_deptid,
iscom = 1,
specid = v_specid,
--NeedType = v_NeedType,
UseDept = V_UseDept,
Editor = v_editor,
BillYear=v_BillYear,
billmonth=v_billmonth,
deptid2 = v_deptid2,
deptname2= v_deptname2
where Billguid = v_djbh; --设置完成状态
update WM_MATDEMAND_EMG set iscom = 1 where BillID = v_djbh; ------向采购主表中插数据
insert into WM_MATORDERPLAN(depid,depname,Editor,Billyear,Billmonth,Org2l,iscom) values(v_depid,V_UseDept,v_editor,v_BillYear,v_billmonth,v_deptname2,1);
---向采购明细表中插数据
insert into WM_MATORDERLIST(purchaser,物资类别,Billyear,Billmonth,iscom) values(v_depid,V_UseDept,v_BillYear,v_billmonth,1)
end;
为什么下面2个insert 语句插不进去。
create or replace procedure P_WM_ComDeman_EMG(v_djbh varchar2)
/*
需求计划完成处理
v_djbh 单据编号
*/
as
v_deptid varchar2(100);
v_specid varchar2(100);
v_NeedType varchar2(100);
V_UseDept varchar2(100);
v_editor varchar2(100);
v_BillYear varchar2(100);
v_billmonth varchar2(100);
v_deptid2 varchar2(100);
v_deptname2 varchar2(100);
begin
select deptid, specid, NeedType, UseDept, Editor,BillYear,billmonth,deptid2,deptname2
into v_deptid, v_specid, v_NeedType, V_UseDept, v_editor,v_BillYear,v_billmonth,v_deptid2,v_deptname2
from WM_MATDEMAND_EMG
where billid = v_djbh; --设置明细完成状态 和 冗余部门编号,专业名称,需求类别
update WM_MATDEMANDLIST_EMG
set
deptid = v_deptid,
iscom = 1,
specid = v_specid,
--NeedType = v_NeedType,
UseDept = V_UseDept,
Editor = v_editor,
BillYear=v_BillYear,
billmonth=v_billmonth,
deptid2 = v_deptid2,
deptname2= v_deptname2
where Billguid = v_djbh; --设置完成状态
update WM_MATDEMAND_EMG set iscom = 1 where BillID = v_djbh; ------向采购主表中插数据
insert into WM_MATORDERPLAN(depid,depname,Editor,Billyear,Billmonth,Org2l,iscom) values(v_depid,V_UseDept,v_editor,v_BillYear,v_billmonth,v_deptname2,1);
---向采购明细表中插数据
insert into WM_MATORDERLIST(purchaser,物资类别,Billyear,Billmonth,iscom) values(v_depid,V_UseDept,v_BillYear,v_billmonth,1)
end;
为什么下面2个insert 语句插不进去。
如果不是提交的问题,可以用sql%rowcount慢慢调试看是否Insert成功。
BILLID VARCHAR2(50) N
BILLSTATE VARCHAR2(50) Y
BILLYEAR VARCHAR2(10) Y
BILLMONTH VARCHAR2(10) Y
PAMOUNT NUMBER(38) Y
USERID VARCHAR2(50) Y
USERDATE VARCHAR2(10) Y
EDITOR VARCHAR2(50) Y
EDITNAME VARCHAR2(50) Y
EDITDATE VARCHAR2(50) Y
REMARK VARCHAR2(500) Y
DEPID VARCHAR2(50) Y
DEPNAME VARCHAR2(50) Y
部长 VARCHAR2(50) Y
ISCOM NUMBER(12) Y
LEADER VARCHAR2(50) Y
ORG2L VARCHAR2(50) Y
物资类别 VARCHAR2(50) Y
GUID VARCHAR2(40) N采购明细表:
BILLGUID VARCHAR2(50) N
MATCODE VARCHAR2(50) N
MATNAME VARCHAR2(50) Y
MATTYPE VARCHAR2(200) Y
MATUNIT VARCHAR2(50) Y
PURCHASEWAY VARCHAR2(50) Y
PURCHASEDATE VARCHAR2(10) Y
PURCHASER VARCHAR2(50) Y
PLANPRICE NUMBER(38,2) Y
PLANCOUNT NUMBER(38,2) Y
PLANAMOUNT NUMBER(38,2) Y
REMARK VARCHAR2(500) Y
CURCOUNT NUMBER(38,2) Y
LBOUND NUMBER(38,2) Y
NEEDCOUNT NUMBER(38,2) Y
ORDERNUM NUMBER(38,2) Y
ISCOM NUMBER(12) Y
AIDCODE VARCHAR2(50) Y
ARVCOUNT NUMBER(38,2) Y
INCOUNT NUMBER(38,2) Y
BILLYEAR VARCHAR2(50) Y
BILLMONTH VARCHAR2(50) Y
物资类别 VARCHAR2(50) Y
APPLY VARCHAR2(50) N
ARVGUID VARCHAR2(50) Y
GUID VARCHAR2(40) N 2张表是通过billguid billid 来关联的 Y是可以为空 N是不可为空。
BILLID VARCHAR2(50) N
GUID VARCHAR2(40) N采购明细表:
BILLGUID VARCHAR2(50) N
MATCODE VARCHAR2(50) N
APPLY VARCHAR2(50) N
GUID VARCHAR2(40) N