【Problem】存储过程参数名与表列名相同引起的问题
程序员文章站
2024-03-22 10:28:16
...
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;
转载于:https://www.jianshu.com/p/1e7ffda70d32
上一篇: 宏定义define和const的区别