这个(Oracle)存储过程为什么插不进负值到数据库???数据库中的值总是在原值上 加上一个正值?????
这个(Oracle)存储过程为什么插不进负值到数据库???
create or replace procedure ord_attemper_p(
p_attemper varchar2,
p_cause_code varchar2,
p_customer varchar2,
p_item_code varchar2,
p_item_name varchar2,
p_flower_code varchar2,
p_stock_unit varchar2,
p_item_degree varchar2,
p_price numeric,
p_qty numeric )
as
begin
update ord_attemper X
set X.qty=X.qty+p_qty
where attemper = p_attemper and cause_code = p_cause_code and item_code=p_item_code;
if sql%rowcount = 0 then --no record updated
insert into ord_attemper
values (ord_attemper_nums.nextval,p_attemper,p_cause_code,p_customer,p_item_code,p_item_name,p_flower_code,p_stock_unit,p_item_degree,p_price,p_qty,p_price*p_qty,null);
end if;
end ord_attemper_p;
/
早JSP 中调用:
stmt =conn.prepareCall("{call ord_attemper2_p(?,?,?,?,?,?,?,?,?,?)}");
stmt.setString(1,HH_attemper);
stmt.setString(2,p_cause_code);
stmt.setString(3,p_customer);
stmt.setString(4,p_item_code);
stmt.setString(5,p_item_name);
stmt.setString(6,p_flower_code);
stmt.setString(7,p_stock_unit);
stmt.setString(8,p_item_degree);
stmt.setDouble(9,p_price);
//HH_qty=-HH_qty;
stmt.setDouble(10,HH_qty);
不管有没有 “HH_qty=-HH_qty“ 语句,数据库中的值总是在原值上 加上一个正值?????
这是怎么回事?????
各位大虾看一下 谢谢!!!