在sqlServer中视图如何实现级联删除?


DROP VIEW RG_1 CASCADE;

这个执行不了,因为sqlserver不支持cascade

DROP VIEW RG_1

使用这个代码,删除后数据库中还有名为RG_2的视图,只不过因为RG_1删除,所以打不开。

DROP VIEW RG_1.RG_2;
DROP SCHEMA RG_1;

使用这个代码报错没有权限或不存在。

有没有一种删了视图RG_1,RG_2也被删除的代码?

在SQL Server中,您可以使用以下代码删除视图RG_1及其依赖项(例如视图RG_2):

DROP VIEW RG_1;
GO
DROP VIEW RG_2;
GO
如果您由于权限问题无法删除视图RG_2,则可以尝试使用以下代码删除制定架构(RG_1)中的所有视图:

DROP SCHEMA RG_1 CASCADE;
注意,此代码将删除RG_1架构及其下的所有对象,而不仅仅是视图。因此,请在执行此代码之前确保您了解其影响并进行适当的备份。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^