Прежде всего, я предлагаю использовать опцию ON DELETE CASCADE
для вашего FK, которая позволяет автоматически удалять все дочерние записи.Другими словами, используйте следующий скрипт для создания таблицы BANK_ACCOUNT
:
CREATE TABLE BANK_ACCOUNT (
ACCOUNT_NUMBER INTEGER PRIMARY KEY,
ACCOUNT_BALANCE NUMBER(10,2),
FOREIGN KEY(ACCOUNT_NUMBER) REFERENCES A1(ID_NUMBER) ON DELETE CASCADE);
Затем используйте следующий скрипт для создания процедуры:
CREATE OR REPLACE
PROCEDURE DELETE_PERSON
(USERNAME IN VARCHAR2) AS
BEGIN
delete from BANK_PERSON where BANK_PERSON.USERNAME like DELETE_PERSON.USERNAME;
END DELETE_PERSON;
И, наконец, вызов вновь созданной процедуры:
EXECUTE DELETE_PERSON('Marcus');
Надеюсь, это то, что вы хотели бы получить.