Удаление ссылок из вложенной таблицы Oracle - PullRequest
0 голосов
/ 29 марта 2019

У меня есть эти таблицы:

CREATE OR REPLACE TYPE Cuenta_udt;
/

CREATE OR REPLACE TYPE cuentas_array AS TABLE OF REF Cuenta_udt;
/

CREATE OR REPLACE TYPE Cliente_udt AS OBJECT (
    DNI         VARCHAR(9),
    Telefono    NUMBER,
    Direccion   VARCHAR(100),
    Email       VARCHAR(50),
    Edad        NUMBER,
    Apellidos   VARCHAR(40),
    Nombre      VARCHAR(30),
    Cuentas     cuentas_array) FINAL;
/

CREATE TABLE Cliente OF Cliente_udt(
    DNI         PRIMARY KEY,
    Telefono    NOT NULL,
    Direccion   NOT NULL,
    Edad        NOT NULL,
    Apellidos   NOT NULL,
    Nombre      NOT NULL
) OBJECT IDENTIFIER IS SYSTEM GENERATED NESTED TABLE Cuentas STORE AS Cuentas_tab;
/

CREATE OR REPLACE TYPE clientes_array AS TABLE OF REF Cliente_udt;
/

CREATE OR REPLACE TYPE Cuenta_udt AS OBJECT (
    IBAN               VARCHAR(28),
    Saldo              FLOAT,
    Numero_de_cuenta   NUMBER,
    Fecha_creacion     DATE,
    Clientes           clientes_array ) NOT INSTANTIABLE NOT FINAL;
/

CREATE TABLE Cuenta OF Cuenta_udt (
    IBAN                        PRIMARY KEY,
    Saldo                       NOT NULL,
    Numero_de_cuenta            NOT NULL,
    Fecha_creacion              NOT NULL
) OBJECT IDENTIFIER IS SYSTEM GENERATED NESTED TABLE Clientes STORE AS Clientes_tab;

Я бы хотел определить триггер, который срабатывает каждый раз, когда я удаляю строку в Cliente, и который удаляет все висячие ссылки во вложенной таблице Clientes в каждой строке Cuenta, но я понятия не имею, как этого достичь.

...