Oracle
 sql >> база данни >  >> RDS >> Oracle

Срязване на таблица в Oracle при получаване на грешки

Трябва да замените оператора TRUNCATE с операторите DELETE, по-бавни и регистрирани, но това е начинът да го направите, когато ограниченията са налице.

DELETE mytablename;

Или това, или можете да намерите външните ключове, които препращат към въпросната таблица, и да ги деактивирате временно.

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

Къде pk-of-table е името на първичния ключ на съкращаваната таблица

Изпълнете изхода на горната заявка. Когато това е направено, не забравяйте да ги активирате отново, просто променете DISABLE CONSTRAINT в ENABLE CONSTRAINT



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да покажа резултатите от процедура извън него в Oracle

  2. Не може да се извлече XML стойност от Oracle CBLOB

  3. Защо не можем да използваме силен референтен курсор с динамичен SQL оператор?

  4. Не могат да се използват имена на колони в заявка за избор на sqlfiddle (oracle)

  5. Не може да се анализира времето на Oracle в C#