sql >> Databasteknik >  >> RDS >> Oracle

Trunkera tabell i Oracle får fel

Du måste byta ut TRUNCATE-satsen mot DELETE-satser, långsammare och loggade, men det är så man gör det när begränsningar finns på plats.

DELETE mytablename;

Antingen det eller så kan du hitta de främmande nycklarna som refererar till tabellen i fråga och inaktivera dem tillfälligt.

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

Var pk-of-table är namnet på primärnyckeln för tabellen som trunkeras

Kör utdata från ovanstående fråga. När detta har gjorts, kom ihåg att aktivera dem igen, bara ändra DISABLE CONSTRAINT till ENABLE CONSTRAINT



  1. Facebook kan inte skrapa metadata efter att jag har flyttat Wordpress till ny server

  2. Förbättring av en funktion som UPSERT baseras på en inmatningsmatris

  3. Mysql Från enum till små problem

  4. Postgres:välj summan av värden och summera sedan detta igen