我需要使用pl / sql过程从Database中删除选择性行。但是它会删除所有行,而不管where子句中的内容是什么。
The student table is:-
id name class
1 danial 9
2 patrick 9
3 paul 8
create or replace procedure delete_student (stId in NUMBER)
begin
delete from students where class = stId;
commit;
end;
我从jsf应用程序发送调用此过程,比如9作为参数。但是,此过程实际上会删除student表中的所有三行,而不管在DBMS_OUT控制台中正确输出的参数stId的值。我做错了什么。
答案 0 :(得分:0)
参数的名称是否与表中列的名称一致?
最好使用前缀(例如p_,v_)命名参数和变量,以便在区分列名和变量/参数名时SQL语句是明确的。