Supprime la contrainte not null d'une colonne dont le nom de la contrainte n'est pas connue. Spécifique à Oracle

Supprime la contrainte not null d'une colonne dont le nom de la contrainte n'est pas connue. Spécifique à Oracle

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
-- suppression de la contrainte not null du champs mon_schema.ma_table.mon_champs
declare
    fName varchar2(255 char);
begin
    SELECT x.constraint_name into fName FROM all_constraints x
                                             JOIN all_cons_columns c ON
                                c.table_name = x.table_name AND c.constraint_name = x.constraint_name
    WHERE x.table_name = 'ma_table' AND x.OWNER='mon_schema' AND x.constraint_type = 'C' AND c.column_name ='mon_champs';

    if fName is not null THEN
       execute immediate 'ALTER TABLE "mon_schema"."ma_table" DROP CONSTRAINT ' || fName;
    end if;
end;
/
Généré avec Hugo
Thème Stack conçu par Jimmy