where 中参数 NAME 与表列名相同,导致where条件永远为true,整张表的AGE都被修改
CREATE OR REPLACE PROCEDURE USER_UPDATE(
NAME in VARCHAR2
)is
begin
update USER t set
t.AGE = 30
where t.NAME = NAME;
commit;
end;
解决方法:修改参数名
CREATE OR REPLACE PROCEDURE USER_UPDATE(
TEMP_NAME in VARCHAR2
)is
begin
update USER t set
t.AGE = 30
where t.NAME = TEMP_NAME;
commit;
end;
网友评论