是否可以强制 SQL Server 创建错误的视图?

web*_*ner 0 sql-server view

SQL Server 能够创建错误的同义词。例如:

create synonym Sample for NonExistingObject
Run Code Online (Sandbox Code Playgroud)

这实际上创建了Sample同义词。

此外,还可以创建一个有效的视图,然后更改该视图所依赖的基础表,使该视图不再起作用。

我正在创建一个实用程序来自动执行与数据库以及许多模块和许多客户相关的一些任务。

我面临的一个问题是某些视图依赖于稍后添加的不存在的对象。

我想知道是否可以为create view语句提供一个标志来强制 SQL Server 不验证视图的定义而只构建它?

Tib*_*szi 6

不,基础表必须存在,因为 sql server 会派生视图返回的列的元数据,如 sys.columns 中所示。您当然可以创建视图引用的一些临时内容,或者硬连线,例如

\n
SELECT col1 =CAST(23 AS int)\n
Run Code Online (Sandbox Code Playgroud)\n

但我不认为上面是你正在寻找的。

\n

换句话说:没有延迟名称解析 f\xc3\xb6r 视图(就像存储过程一样)。

\n