从删除pl / sql过程中的完整表中删除:ORACLE

时间:2017-03-01 02:10:59

标签: oracle plsql

我需要使用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的值。我做错了什么。

1 个答案:

答案 0 :(得分:0)

参数的名称是否与表中列的名称一致?

最好使用前缀(例如p_,v_)命名参数和变量,以便在区分列名和变量/参数名时SQL语句是明确的。