我是用触发器调用下面的procedure的。
dbms_output.put_line里面的内容都打印出来了,但就是下面一句update却总是修改不成功。
我根据dbms_output.put_line打印出来的log,手工编写update时,是可以执行成功。
例如:
log如下:
2: T00HP017ID=6000 ORG_NAME=1chufaqi ORG_CODE=54 T00HP003ID= T00HP004ID=手工编写的update语句如下:
update T00HZ007 set ORG_CODE='54',ORG_NAME='1chufaqi',T00HP003ID='', T00HP004ID=''where T00HP017ID='6000';procedure update_hz007(T00HP017ID in T00HP017.T00HP017ID%TYPE,
ORG_CODE in out T00HP017.ORG_CODE%TYPE,
ORG_NAME in out T00HP017.ORG_NAME%TYPE,
T00HP003ID in out T00HP017.T00HP003ID%TYPE,
T00HP004ID in out T00HP017.T00HP004ID%TYPE)
is
begin
dbms_output.put_line('2: T00HP017ID='||T00HP017ID||' ORG_CODE='||ORG_CODE||' T00HP003ID='||T00HP003ID||' T00HP004ID='||T00HP004ID);
update T00HZ007 set ORG_CODE=ORG_CODE,ORG_NAME=ORG_NAME,T00HP003ID=T00HP003ID, T00HP004ID=T00HP004ID where T00HP017ID=T00HP017ID;
end update_hz007;
dbms_output.put_line里面的内容都打印出来了,但就是下面一句update却总是修改不成功。
我根据dbms_output.put_line打印出来的log,手工编写update时,是可以执行成功。
例如:
log如下:
2: T00HP017ID=6000 ORG_NAME=1chufaqi ORG_CODE=54 T00HP003ID= T00HP004ID=手工编写的update语句如下:
update T00HZ007 set ORG_CODE='54',ORG_NAME='1chufaqi',T00HP003ID='', T00HP004ID=''where T00HP017ID='6000';procedure update_hz007(T00HP017ID in T00HP017.T00HP017ID%TYPE,
ORG_CODE in out T00HP017.ORG_CODE%TYPE,
ORG_NAME in out T00HP017.ORG_NAME%TYPE,
T00HP003ID in out T00HP017.T00HP003ID%TYPE,
T00HP004ID in out T00HP017.T00HP004ID%TYPE)
is
begin
dbms_output.put_line('2: T00HP017ID='||T00HP017ID||' ORG_CODE='||ORG_CODE||' T00HP003ID='||T00HP003ID||' T00HP004ID='||T00HP004ID);
update T00HZ007 set ORG_CODE=ORG_CODE,ORG_NAME=ORG_NAME,T00HP003ID=T00HP003ID, T00HP004ID=T00HP004ID where T00HP017ID=T00HP017ID;
end update_hz007;
p_ORG_CODE in out T00HP017.ORG_CODE%TYPE,
p_ORG_NAME in out T00HP017.ORG_NAME%TYPE,
p_T00HP003ID in out T00HP017.T00HP003ID%TYPE,
p_T00HP004ID in out T00HP017.T00HP004ID%TYPE)
is
begin
dbms_output.put_line('2: T00HP017ID='||p_T00HP017ID||' ORG_CODE='||p_ORG_CODE||' T00HP003ID='||p_T00HP003ID||' T00HP004ID='||p_T00HP004ID);
update T00HZ007 set ORG_CODE=p_ORG_CODE,ORG_NAME=p_ORG_NAME,T00HP003ID=p_T00HP003ID, T00HP004ID=p_T00HP004ID where T00HP017ID=p_T00HP017ID;
end update_hz007;
procedure update_hz007(i_T00HP017ID in T00HP017.T00HP017ID%TYPE,
i_ORG_CODE in out T00HP017.ORG_CODE%TYPE,
i_ORG_NAME in out T00HP017.ORG_NAME%TYPE,
i_T00HP003ID in out T00HP017.T00HP003ID%TYPE,
i_T00HP004ID in out T00HP017.T00HP004ID%TYPE)
is
begin
dbms_output.put_line('2: T00HP017ID='||i_T00HP017ID||' ORG_CODE='||i_ORG_CODE||' T00HP003ID='||i_T00HP003ID||' T00HP004ID='||i_T00HP004ID);
update T00HZ007 set ORG_CODE=i_ORG_CODE,ORG_NAME=i_ORG_NAME,T00HP003ID=i_T00HP003ID, T00HP004ID=i_T00HP004ID where T00HP017ID=i_T00HP017ID;
end update_hz007;
--改就不改了 把你的过程的参数名不要跟字段名字一模一样 ,同理过程体中的语句也的改成对应的
--没有提交
procedure update_hz007(T00HP017ID in T00HP017.T00HP017ID%TYPE,
ORG_CODE in out T00HP017.ORG_CODE%TYPE,
ORG_NAME in out T00HP017.ORG_NAME%TYPE,
T00HP003ID in out T00HP017.T00HP003ID%TYPE,
T00HP004ID in out T00HP017.T00HP004ID%TYPE)
is
begin
dbms_output.put_line('2: T00HP017ID='||T00HP017ID||' ORG_CODE='||ORG_CODE||' T00HP003ID='||T00HP003ID||' T00HP004ID='||T00HP004ID);
update T00HZ007 set ORG_CODE=ORG_CODE,ORG_NAME=ORG_NAME,T00HP003ID=T00HP003ID, T00HP004ID=T00HP004ID where T00HP017ID=T00HP017ID;
commit; --没有提交
end update_hz007;