我需要使用pl/sql過程從數據庫中刪除選擇性行。但它會刪除所有行,而不考慮where子句中的內容。從刪除pl/sql過程中的完整表中刪除:ORACLE
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的值。我究竟做錯了什麼。
你確定你通過了9.你有沒有嘗試記錄傳遞的值? – Hawk
是的,先生。 100%。它在我發送時發送9和發送8時發送8,但是在刪除所有三行時無論是8還是9.i甚至在過程中都很困難,它仍然會刪除所有行。 – jaykio77
這很有趣,我沒有複製你的情況。除非正在執行其他語句(除了您向我們展示的內容),否則不應刪除所有行。我還會檢查桌子上是否有觸發器,或等待更多專家的輸入 – Hawk