动态删除sql server中的视图

动态删除sql server中的视图,sql,Sql,下面是我想删除变量中的视图的代码 declare @tbName nvarchar(max) set @tbName ='Vw_QueryBuilder_22viewcheckedmergedagain' exec('IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(' + @tbName + ')) DROP VIEW ' + @tbName) 上面的代码说视图不存在,但它存在我可以显示视图

下面是我想删除变量中的视图的代码

declare @tbName nvarchar(max)
    set @tbName ='Vw_QueryBuilder_22viewcheckedmergedagain'
    exec('IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(' + @tbName + '))
    DROP VIEW ' + @tbName)

上面的代码说视图不存在,但它存在我可以显示视图的所有记录

我找到了缺少的答案 我正在分享它,可能任何人都会觉得它有用

declare @tbName nvarchar(max)
    set @tbName =N'Vw_QueryBuilder_22viewcheckedmergedagain'

    exec('IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(''' + @tbName + '''))
    DROP VIEW dbo. ' + @tbName)

我发现答案不见了 我正在分享它,可能任何人都会觉得它有用

declare @tbName nvarchar(max)
    set @tbName =N'Vw_QueryBuilder_22viewcheckedmergedagain'

    exec('IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(''' + @tbName + '''))
    DROP VIEW dbo. ' + @tbName)

如果您像
DROP VIEW dbo那样编写它会有帮助吗?+…
否,它仍然会说“无效的列名'Vw_QueryBuilder\u 22viewcheckedmergedagain.”如果您像
DROP VIEW dbo那样编写它会有帮助吗?+…
否,它仍然会说“无效的列名'Vw_QueryBuilder\u 22viewcheckedmergedagain.”