Oracle
 sql >> Base de données >  >> RDS >> Oracle

Tronquer la table dans Oracle obtenant des erreurs

Vous devez remplacer l'instruction TRUNCATE par des instructions DELETE, plus lentes et enregistrées, mais c'est la façon de le faire lorsque des contraintes sont en place.

DELETE mytablename;

Soit cela, soit vous pouvez trouver les clés étrangères qui font référence à la table en question et les désactiver temporairement.

select 'ALTER TABLE '||TABLE_NAME||' DISABLE CONSTRAINT '||CONSTRAINT_NAME||';'
from user_constraints
where R_CONSTRAINT_NAME='<pk-of-table>';

pk-of-table est le nom de la clé primaire de la table tronquée

Exécutez la sortie de la requête ci-dessus. Lorsque cela a été fait, n'oubliez pas de les réactiver, changez simplement DISABLE CONSTRAINT dans ENABLE CONSTRAINT