建立数据库表之前,第一步,进行了drop table cascade constant 操作,不明白是什么意思,翻看书的前面也没有找到,于是查了一下,以下为查到的原因。
当你要drop一个table时,如果删除table的动作会造成trigger或constraint产生矛盾,系统会出现错误警告的讯息而不会允许执行.。一个极简单的例子,例如你有一个员工基本资料表,上面可能有员工编号和员工姓名等字段,另外有一个员工销售表,上面有员工编号和员工销售额两个字段,员工薪资表的员工编号字段为一个foreign key参照到员工基本资料表的员工编号:
SQL> drop table t; Table dropped. SQL> drop table t1; Table dropped. SQL> create table t (id number,name varchar2(20)); Table created. SQL> create table t1 (id number,sal number); Table created. SQL> alter table t add constraint t_pk primary key (id); Table altered. SQL> alter table t1 add constraint t_fk foreign key (id) references t (id); //这个外键必须是另一个表的主键 Table altered. SQL> insert into t values (1,'JACK'); 1 row created. SQL> insert into t values (2,'MARY'); 1 row created. SQL> COMMIT; Commit complete. SQL> insert into t1 values (1,1000); 1 row created. SQL> insert into t1 values (2,1500); 1 row created. SQL> commit; SQL> insert into t1 values (3,200); insert into t1 values (3,200) * ERROR at line 1: ORA-02291: integrity constraint (SYS.T_FK) violated - parent key not found (违反了constraint,员工基本资料表里根本没有3号这个员工,何来的销售记录。) SQL> drop table t; drop table t * ERROR at line 1: ORA-02449: unique/primary keys in table referenced by foreign keys (违反了constraint,员工销售表t1有參照到table t,这个reference relation不允许你drop table t) SQL> drop table t cascade constraints; Table dropped. SQL> select * from t1; ID SAL ---------- ---------- 1 1000 2 1500 SQL> select CONSTRAINT_NAME,TABLE_NAME from dba_constraints where wner = 'SYS' and TABLE_NAME = 'T1' no rows selected SQL>
我们可以发现利用Drop table cascade constraints可以以刪除关联table t的constraint來达成你drop table t的目的,原來属于t1的foreign key constraint已经跟随着被删除掉了,但是,储存在table t1的资料可不会被删除,也就是说Drop table cascade constraints 是不影响到存储于objec里的row data。
相关推荐
DROP TABLE CASCADE CONSTRAINTS; ``` ### 九、索引管理 1. **基于函数的索引**: ```sql CREATE INDEX summit.item_quantity ON summit.item (quantity - quantity_shipped); ``` 2. **B-树索引**: ```sql ...
DROP TABLE CASCADE CONSTRAINTS; ``` ### 二、索引管理 **1. 基于函数的索引** 基于函数的索引可以提高某些查询的效率,比如使用 `SUM`, `AVG` 等聚合函数。 ```sql CREATE INDEX summit.item_quantity ON summit...
drop table cascade constraints; ``` #### Oracle工具使用 除了以上提到的技术点,还有一些实用的Oracle工具可以帮助进行性能监控、问题排查等: 1. **AWR(Automatic Workload Repository)**:用于收集和...
例如,用户原本打算删除名为`A`的表(`DROP TABLE A CASCADE CONSTRAINTS;`),但由于输入错误,变成了删除`B`表(`DROP TABLE B CASCADE CONSTRAINTS;`),这种误操作可能会给业务带来严重损失。 #### 解决方案:使用...
- **`drop table cascade constraints`**:删除表及其依赖的所有约束(如外键)。 - **`on delete cascade`**:当主表中的记录被删除时,自动删除从表中对应的记录。 - **`desc 表名;`**:描述表结构。 - 这些命令...
在SQL Server数据库管理系统中,`CASCADE` 是一个重要的约束类型,它主要用于定义外键约束时的行为。本篇文章将深入探讨 `CASCADE` 的含义、作用以及如何在实际操作中使用它,同时通过具体示例帮助理解其工作原理。 ...
sql> alter table table_name drop column comments cascade constraints checkpoint 1000; sql> alter table table_name drop columns continue; ``` **解析**: - `drop column`: 删除指定列。 - `cascade ...
ALTER TABLE TABLENAME DROP CONSTRAINTS COLUMN CASCADE; --删除约束 ALTER TABLE TABLENAME DISABLE PRIMARY_COLUMN ; --设置被设置为主键的列为无效 DROP INDEX INDEX_NAME; --删除主键索引 2,查看主键约束 ...
DROP TABLE 表名 CASCADE CONSTRAINTS; ``` 这条语句的基本结构是`DROP TABLE`后跟表的名称。如果直接执行,将删除表及其数据,但表的约束条件(如外键)仍然存在,可能导致其他关联表出现问题。因此,通常会加上`...
SCHEMA在SQL server中翻译为“架构”,在课本上为“模式”。 ...CREATE TABLE TAB1 ( COL1 SMALLINT, COL2 INT, COL3 CHAR(20), COL4 NUMERIC(10,3), COL5 DECIMAL(5,2) ); 【注】使用上面的
DROP TABLE employees CASCADE CONSTRAINTS; ``` 8. `alter_table_drop_table.txt`文件可能包含关于如何删除表或其组件的更具体操作,如删除约束、索引或列。 总结,Oracle数据库管理系统提供了丰富的功能来创建、...
drop table table name cascade constraints; 删除父表的时候把子表也删除(外健) with check option 该列有访问且值等(即条件一致) novalidate enable 约束">第一章:写简单的sql语句 SQL> alter user ...
接着,删除表使用`DROP TABLE`语句,如`DROP TABLE Employees;`,这将永久性地移除表及其所有数据。 创建主键使用`ALTER TABLE`语句加上`ADD CONSTRAINT PRIMARY KEY`,如: ```sql ALTER TABLE Employees ADD ...
ALTER TABLE 表名 DROP COLUMN 列名; ALTER TABLE 表名 MODIFY COLUMN 列名 新数据类型; ``` 在VB6中,你可以通过DAO(Data Access Objects)或者ADO(ActiveX Data Objects)来执行相应的操作,例如: ```vb Dim ...
DROP TABLE test CASCADE CONSTRAINTS; ``` 在删除表时,需要先删除表的约束,然后才能删除表。 Oracle 9i 模式对象提供了多种类型的表、索引、视图、存储过程、函数、触发器等数据库对象,用于存储和管理数据。
DROP TABLE 命令是 DDL 语句,执行时不会将操作放入回滚段中,操作立即生效,不触发触发器。 DROP TABLE <表名> 六、小结 在数据库管理系统中,数据更新、删除和修改是最基本的操作之一。这些操作需要遵守数据库...
sql> DROP TABLE table_name [CASCADE CONSTRAINTS]; ``` 11. 删除列 `ALTER TABLE`命令可用于删除列,`CASCADE CONSTRAINTS`处理依赖关系: ```sql> sql> ALTER TABLE table_name DROP COLUMN comments CASCADE ...
- **DROP TABLE**:当你执行`DROP TABLE`语句时,表会移动到回收站(USER_RECYCLEBIN),而不是立即删除。如果你想永久删除表及其数据,应该使用`DROP TABLE PURGE`。这会将表从回收站中移除,无法恢复。 - **...
对数据库的表进行修改有如下几点 1. 列的添加,修改和删除 ...Alter table table_name drop [column column_name]|[(column1_name,column2_name,…)] [cascade constraints](多列的约束组成,用到这段语句)
数据库脚本/图书分类基本信息表 DROP TABLE bookcat CASCADE CONSTRAINTS; CREATE TABLE bookcat( id NUMBER PRIMARY KEY, catname VARCHAR2 (40) NOT NULL );