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引数として呼び出します。ただし、このプロシージャでは、DBMS_OUTコンソールで正しく出力されるstId引数の値に関係なく、student表の3つの行がすべて削除されます。私は間違って何をしていますか?
本当にあなたは渡していますか?渡された値をどこかに記録しようとしましたか? – Hawk
はい100%。 8を送信したときに9と8を送信すると9が印刷されますが、8または9.iのいずれの場合でも手順3ではすべての行が削除され、すべての行が削除されます。 – jaykio77
これは面白いです、私はあなたのケースを複製できませんでした。他のステートメントが実行されている場合を除いて(すべての行を削除してはいけません)私はまた、テーブルにトリガがあるかどうかを確認するか、よりエキスパートな入力を待つ – Hawk