如何使用SQL Server View和Schema?

时间:2017-06-20 15:14:56

标签: sql-server tsql

基于线程: SQL Server View vs Database

我在SQL Server数据库中创建了一个名为Network的模式。我们的想法是拥有将成为此模式一部分的逻辑sql视图组。

  1. 如何将sql视图与架构相关联?
  2. 如何执行视图?网络。?
  3. 如何查看在特定sql server架构中创建的视图列表?
  4. SQL Server视图示例:

    Create view v_Customer
    as
    Select * from Customer
    

1 个答案:

答案 0 :(得分:2)

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

ServerName.DatabaseName.schemaName.objectName

如果您未提及服务器名称和数据库名称,则将在与其建立连接的数据库上创建对象。

如果在创建对象(视图)时未提及架构名称,则会在默认架构上创建它。主要是dbo

只需在schema名称

之前添加View名称即可
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