Oracle Database
contraintes
Recherche…
Mettre à jour les clés étrangères avec une nouvelle valeur dans Oracle
Supposons que vous ayez une table et que vous souhaitiez en changer un. vous pouvez utiliser le scrpit suivant. L'ID primaire est "PK_S"
begin
for i in (select a.table_name, c.column_name
from user_constraints a, user_cons_columns c
where a.CONSTRAINT_TYPE = 'R'
and a.R_CONSTRAINT_NAME = 'PK_S'
and c.constraint_name = a.constraint_name) loop
execute immediate 'update ' || i.table_name || ' set ' || i.column_name ||
'=to_number(''1000'' || ' || i.column_name || ') ';
end loop;
end;
Désactiver toutes les clés étrangères associées dans Oracle
Supposons que vous ayez la table T1 et qu'elle soit en relation avec de nombreuses tables et que son nom de contrainte de clé primaire soit "pk_t1", vous voulez désactiver ces clés étrangères que vous pouvez utiliser:
Begin
For I in (select table_name, constraint_name from user_constraint t where r_constraint_name='pk_t1') loop
Execute immediate ' alter table ' || I.table_name || ' disable constraint ' || i.constraint_name;
End loop;
End;
Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow