SQL Server "DROP TABLE 表名 CASCADE" 显示"CASCADE"附近有语法错误的原因

在学习数据库的过程中提到了使用CASCADE关键字来强制删除已被引用的关系(及其引用方)。

在实践过程中,使用SQL Server执行“ DROP TABLE Course CASCADE”却被提示有语法错误。

事实上报错的原因在于SQL Server不支持在删除过程中使用CASCADE关键字(见课本下图):


可看出SQL Server在删除表时并不区分RESTRICT或是CASCADE。

既然不支持,那为何又能识别CASCADE为关键字呢?

事实上在SQL Server中CASCADE关键字用于在建表操作时预先建立级联关系(通常和DENY关键字配合使用,所以报有语法错),建表后执行DROP操作时就不需要用户再指定删除模式了。


因此标题的那句“CASCADE”完全是用错了地方,应予以删除。

若因外键问题报错则应先将引用方删除或创建前使用CASCADE关键字确立级联关系。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值