【问题标题】:How to use SQL Server View and Schema?如何使用 SQL Server 视图和架构?
【发布时间】:2017-11-23 05:27:02
【问题描述】:

基于线程: SQL Server View vs Database

我在我的 SQL Server 数据库中创建了一个名为 Network 的架构。这个想法是让逻辑组的 sql 视图成为这个模式的一部分。

  1. 如何将 sql 视图关联到架构?
  2. 如何执行视图?网络。?
  3. 如何查看在特定 sql server 架构中创建的视图列表?

SQL Server 视图示例:

Create view v_Customer
as
Select * from Customer

【问题讨论】:

  • 执行绑定到模式的 sql server 视图:select * from Network.v_Customer

标签: sql-server tsql


【解决方案1】:

Object(查看) sql server 中的名称有 4 个部分标识符

ServerName.DatabaseName.schemaName.objectName

当您不提及服务器名称和数据库名称时,将在建立连接的数据库上创建对象。

当您在创建对象(视图)时未提及架构名称时,它将在默认架构上创建。主要是dbo

只需在View 名称前添加schema 名称

Create view Network.v_Customer
as
Select * from Customer

查看在特定 sql server 架构中创建的视图列表

select * 
from sys.objects o
  JOIN sys.schemas s
         ON o.[schema_id] = s.[schema_id]
Where o.type = 'V'
and   s.name = 'schema_name'

不使用SCHEMA_NAME()而加入sys.schemas的原因在这里

Bad habits : Using (certain) metadata "helper" functions

【讨论】:

  • 很好的答案,但你遗漏了我建议只使用 sys.views 的问题 3
  • @AnthonyHancock - 当我回答它不存在时,它是新添加的:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多