可能會導致傳入的參數起不了用處。例子如下:
建立一個表:
-- Create table
create table T_TEST12
(
ID NUMBER,
NO VARCHAR2(60)
);
往這個表里面插入一些數據,
insert into t_test12 (ID, NO)
values (1, 'lin');
insert into t_test12 (ID, NO)
values (2, '13800162');
insert into t_test12 (ID, NO)
values (3, '13800163');
insert into t_test12 (ID, NO)
values (4, '13800164');
insert into t_test12 (ID, NO)
values (5, '13800165');
insert into t_test12 (ID, NO)
values (6, '13800166');
create or replace procedure delete_test(id in number) is --變量名稱id跟數據庫的字段一樣
begin
delete from t_test12 where id =id;
commit;
end delete_test;
執行以下操作:
exec delete_test(1); 執行完后,發現并不是只刪除了id為1的數據,
而是把整個表的數據都刪除了,如果要想得到相應的結果,則變量
的命名不能跟表的字段名一樣。比如如下:
create or replace procedure delete_test(is_del_id in number) is --變量名稱id跟數據庫的字段一樣
begin
delete from t_test12 where id =is_del_id;
commit;
end delete_test;