drop table时restrict和cascade的区别(说明在drop table 时,resirict 和cascade 的区别)
本文目录
- 说明在drop table 时,resirict 和cascade 的区别
- cascade默认是什么
- 参照完整性约束,RESTRICT和NO ACTION有什么区别
- 数据库中restrict和casecade是什么意思
说明在drop table 时,resirict 和cascade 的区别
DROP tbl_name ... DROP TABLE用于取消一个或多个表。您必须有每个表的DROP权限。所有的表数据和表定义会被取消,所以使用本语句要小心!注意,对于一个带分区的表,DROP TABLE会永久性地取消表定义,取消各分区,并取消储存在这些分区中的所有数据。DROP TABLE还会取消与被取消的表有关联的分区定义(.par)文件。对与不存在的表,使用IF EXISTS用于防止错误发生。当使用IF EXISTS时,对于每个不存在的表,会生成一个NOTE。RESTRICT和CASCADE可以使分区更容易。目前,RESTRICT和CASCADE不起作用。
cascade默认是什么
模式的删除 DROP SCHEMA 《模式名》 《CASCADE|RESTRICT》,其中CASCADE和RESTRICT两者必选其一。 CASCADE:表示在删除模式的同时把该模式中所有的数据库对象全部一起删除。 RESTRICT:表示如果模式中已经定义了下属的数据库对象(如表,视图等),则拒绝该删除语句的执行。是有当该模式中没有任何下属的对象时才能执行DROP SCHEMA语句 DROP TABLE 《表名》 ;RESTRICT:缺省,有限制条件,删除的表不能被其他表的约束所引用,不能有视图,触发器和存储过程。 CASCADE:删除表没有限制条件,在删除表的同时,相关依赖都将被一起删除 删除视图 DROP VIEW 《视图名》 CASCADE:如果该视图上还导出其他视图,则使用CASCADE可以级联删除,把该视图和它导出的所有视图一起删除。
参照完整性约束,RESTRICT和NO ACTION有什么区别
你说的这个主要用于参照完整性,包括restrict、cascade和no action;restrict--限制,指的是如果字表引用父表的某个字段的值,那么不允许直接删除父表的该值;cascade--级联,删除父表的某条记录,子表中引用该值的记录会自动被删除;no action--无参照完整性关系,有了也不生效。
数据库中restrict和casecade是什么意思
restrict和cascade都是在外码定义时指定的关键字。
外码所指定的字段取值受限制,可以取两种值:
所参照主码中出现过的值;
可以取空值。
外码所指定的字段中数据的增删改是受到外码约束的限制的,在数据增删改时会检查是否满足外码约束条件,当不满足外码的条件时,所做的处理与定义外码时指定的restrict关键字或者cascade关键字有关。
下面以一个具体例子说明:
设有两张表:student和class,表定义语句为:
create table class(cno int primary key, cname varchar(20))
create table student(sno int primary key, sname varchar(10), cno int, foreign key(cno) references class(cno) on delete restrict)
第一张表class中,cno是主码,第二张表student中,sno是主码,cno是外码,外码的取值必须在class的主码cno中出现过,或者取空值。注意,在外码定义时指定了restrict关键字,此时,如果从class表中删除一条数据(即删除一个班级),student表中恰好有该班级的学生,则会报错,不允许删除。
如果在student表的外码定义时指定的是cascade,即
create table student(sno int primary key, sname varchar(10), cno int, foreign key(cno) references class(cno) on delete cascade)
则表示级联删除,删除class表中的一条数据时,会把student表中对应的数据一起删除掉。此外,在外码定义时还可以指定on delete set null,表示删除class表中的一条数据时,如果student表中有对应的数据,则把这些对应的数据的cno设置为空值NULL。
更多文章:
sql从excel导入数据(怎么把excel文件里的数据导入SQL数据库)
2024年7月18日 02:07
列表框的属性(要想不使用Shift或Ctrl键就能在列表框中同时选择多个项目,则应把该列表框的MultiSelect属性设置为())
2024年6月25日 12:27
swing节奏(像重金属、EDM、Hip-Hop、摇滚等劲爆音乐风格适合什么年龄段的人听)
2024年6月10日 09:10
distribution agreement(中文翻译成 英文,请英语高手帮忙,马上就要谢谢)
2024年9月5日 09:45
epic反垄断案(苹果再次上诉Epic,App Store允许第三方支付搁浅)
2024年7月5日 09:05
update failed是什么意思(海信 update failed 是什么意思)
2024年7月22日 12:38
fastreport教程(如何在fastreport中添加我的自定义函数)
2024年5月6日 10:17
switch的相关短语用法(switch语句怎么用啊 具体)
2024年7月2日 05:52
sql2000属于什么系统(什么是SQL server2000)
2024年6月29日 13:09
directions染发膏(凯维斯果染膏染发梳安全吗可以用吗)
2024年7月23日 18:44
string转char(那string 类型怎么转成char类型)
2024年7月13日 19:37