sql - Oracle PLSQL 级联删除不起作用?
问题描述
我有一些应该删除的外键表。我在需要它的任何地方都放置了“删除级联”,但是当我尝试删除表时,我收到以下错误:
*Cause: An attempt was made to drop a table with unique or
primary keys referenced by foreign keys in another table.
这是我要删除的表:
DROP TABLE Author;
CREATE TABLE Author (
id NUMBER(4) NOT NULL,
first_name VARCHAR2(30) NOT NULL,
last_name VARCHAR2(30) NOT NULL,
date_of_birth DATE NOT NULL,
date_of_death DATE NULL,
CONSTRAINT Author_PK PRIMARY KEY (id)
);
这是与 Author 表相关的表:
CREATE TABLE Book (
id NUMBER(4) NOT NULL,
author NUMBER(4) NULL,
title VARCHAR2(30) NOT NULL,
ISBN VARCHAR2(13) NOT NULL,
book_language VARCHAR2(2) NOT NULL,
book_genre VARCHAR2(20) NOT NULL,
CONSTRAINT Book_PK PRIMARY KEY (id),
CONSTRAINT Book_Author FOREIGN KEY (author) REFERENCES Author(id) ON DELETE cascade
);
解决方案
我现在在@a_horse_with_no_name 的帮助下解决了如果您有同样的问题,只需写
drop table table_name cascade constraints;
推荐阅读
- r - 如何将 shapefile 与具有纬度/经度数据的数据框合并
- matlab - 每个网格点的矩阵
- configuration - OpenAM IdP 中的多值属性
- node.js - 如何使用 node.js 获取页面上使用的所有字体?
- wordpress - Git 合并导致 400 次重命名/重命名冲突,如何快速解决它们?
- angular5 - 如何推送属于formArray的formGroup的值
- git - Git GUI 合并解析
- object-storage - 如何在 unix shell 中计算 md5-content 标头?
- react-native - 如何将值从 React Native 功能组件返回给父级
- ios - 滚动时如何将 SearchBar 修复为 UITableView 的标题?