create table tb_cleint_qylx
(
id int not null,
qylx_id varchar2(10) primary key,
qylx_lxmc varchar2(50),
qylx_bz varchar2(50)
);
create or replace procedure pro_qylx_update
(id varchar2,
qylx varchar2,
bz varchar2,
result out int
)
as
num int;
begin
select count(*) into num from tb_client_qylx where upper(qylx_id)=upper(id);
if(num>0) then
update tb_client_qylx set qylx_lxmc=qylx,qylx_bz=bz where upper(qylx_id)=upper(id);
if(sql%rowcount>0) then
result:=1;
else
result:=0;
end if;
else
result:=0;
end if;
end pro_qylx_update;
执行存储过程,记录没有被修改!
请大家帮助帮助!
(
id int not null,
qylx_id varchar2(10) primary key,
qylx_lxmc varchar2(50),
qylx_bz varchar2(50)
);
create or replace procedure pro_qylx_update
(id varchar2,
qylx varchar2,
bz varchar2,
result out int
)
as
num int;
begin
select count(*) into num from tb_client_qylx where upper(qylx_id)=upper(id);
if(num>0) then
update tb_client_qylx set qylx_lxmc=qylx,qylx_bz=bz where upper(qylx_id)=upper(id);
if(sql%rowcount>0) then
result:=1;
else
result:=0;
end if;
else
result:=0;
end if;
end pro_qylx_update;
执行存储过程,记录没有被修改!
请大家帮助帮助!
除非你自动Commit
commit也不能修改,
后来,我改了存存过程,如
create or replace procedure pro_qylx_update
(v_id varchar2,
qylx varchar2,
bz varchar2,
result out int
)
as
num int;
begin
select count(*) into num from tb_client_qylx where upper(qylx_id)=upper(v_id);
if(num>0) then
update tb_client_qylx set qylx_lxmc=qylx,qylx_bz=bz where upper(qylx_id)=upper(v_id);
if(sql%rowcount>0) then
result:=1;
commit;
else
result:=0;
end if;
else
result:=0;
end if;
end pro_qylx_update; 我认为是存储过程中的id有问题,可以与表的id有冲突。
修改以后就可以了!