CREATE VIEW (Transact-SQL)

İçeriği (satır ve sütun) bir sorgu tarafından tanımlanan sanal bir tablo oluşturur.Bu deyim , veritabanındaki bir veya daha fazla tablodaki verilerin bir görünümünü oluşturmak için kullanın.Örneğin, bir görünümü aşağıdaki amaçlar için kullanılabilir:

  • Odaklanmak, basitleştirmek ve özünde her kullanıcı özelleştirmek için veritabanı vardır.

  • Kullanıcıların Görünüm üzerinden veri erişim sağlayarak bir güvenlik mekanizması olarak, kullanıcıların vermeden doğrudan temel erişim izinleri tabloları temel.

  • tablo , şema değişti öykünmek için geriye uyumlu arabirim sağlamak.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

CREATE VIEW [ schema_name . ] view_name [ (column [ ,...n ] ) ] 
[ WITH <view_attribute> [ ,...n ] ] 
AS select_statement 
[ WITH CHECK OPTION ] [ ; ]

<view_attribute> ::= 
{
    [ ENCRYPTION ]
    [ SCHEMABINDING ]
    [ VIEW_METADATA ]     } 

Bağımsız değişkenler

  • schema_name
    Görünümün ait olduğu şema addır.

  • view_name
    Görünüm adıdır.Görünüm adları tanımlayıcıları kurallarýna uygun olmalýdýr.Görünüm sahibi adını belirten isteğe bağlıdır.

  • column
    Görünümünde bir sütun için kullanılacak addır.Bir aritmetik ifade, bir işlevveya sabit sütun yalnızca türetilmiş bir sütun adı gereklidir; ne zaman iki veya daha fazla sütun tipik bir birleştirmeknedeniyle Aksi takdirde aynı adı olabilir; ya da ne zaman görünümünde sütun belirtilen kaynağı türetilmiş sütun farklı bir adı.select deyimiçinde sütun adları da atanabilir.

    column Belirtilmezse, sütunları görüntülemek sütunların select deyimiçinde aynı adları alın.

    Not

    Görünüm için sütunlar, sütun adı için izinleri, görünüm oluştur veya alter VIEW deyim, temel veri kaynak ne olursa olsun üzerinden uygulanır.Örneğin üzerinde izin verilen, SalesOrderID bir alter VIEW deyimsütun create VIEW deyim, ad SalesOrderID gibi farklı bir sütunsütun adı OrderRefve durağan görünüm kullanımıyla ilişkili izinlere sahip SalesOrderID.

  • AS
    Eylemleri gerçekleştirmek için görünümdür belirtir.

  • select_statement
    Görünümü tanımlayan select deyim olur.deyim birden fazla tablo ve diğer görünümleri kullanabilirsiniz.select yan tümce oluşturulur görünümün içinde başvurulan nesneleri seçmek için uygun izinleri gereklidir.

    Basit alt küme satır kümesi ve belirli bir tablosütunlarından görünüm yok.select yan tümce herhangi karmaşıklık, ile birden fazla tablo veya diğer görünümler kullanan bir görünüm oluşturulabilir.

    dizinli görünüm tanımında bir select deyim tek tablodeyim veya isteğe bağlı toplamaile multitable JOIN olmalıdır.

    select yan tümceleri bir görünüm tanımında aşağıdakileri içeremez:

    • compute veya compute by yan tümceleri

    • Bir order by yan tümcede olmadıkça üst yan tümce select deyimseçme listesinde

      Not

      order by yan tümce yalnızca görünüm tanımını top yan tümce tarafından döndürülen satırları belirlemek için kullanılır.Görünüm sorgulandığında, order by de sorguda belirtilmediği sürece order by yan tümce sipariş edilen sonuçlar garanti etmez.

    • INTO anahtar sözcüğü

    • OPTION yan tümce

    • Geçici bir tablo ya da bir tablo değişkeni başvuru.

    Çünkü select_statement select deyimkullanır kullanmak için geçerli olan <join_hint> ve <table_hint> from yan tümcetümcesinde belirtildiği gibi ipuçları.Daha fazla bilgi için, bkz. (Transact-SQL) ve SELECT (Transact-SQL).

    İşlevler ve birden çok select deyimleri UNION veya UNION all ayrılmış kullanılabilir select_statement.

  • ONAY SEÇENEĞİ
    Ölçüt küme içinde izleyin görünümü karşı yürütülen tüm veri değişikliği deyimleri zorlar select_statement.Bir satır bir görünümü değiştirildiğinde, ile Denetle seçeneği deiiklik onaylandıktan sonra veri görünümü görünür kalır emin olur.

    Not

    Doğrudan görünümün temel tablolarına yapılan tüm güncelleştirmeleri Denetle seçeneği belirtilmiş olsa görünümü karşı doğrulanmadı.

  • ŞİFRELEME
    Girişler, şifreler sys.syscomments create VIEW deyimmetin içeriyor.WITH ENCRYPTION kullanarak SQL Server çoğaltmabir parçası olarak yayımlanan görünümü engeller.

  • EMA BALAMA
    Görünüm temel tablo veya tablolar şemasına bağlar.Ema BALAMA belirtildiğinde temel tablo veya tabloların görünüm tanımını etkileyecek şekilde değiştirilemez.Görünüm tanımını gerekir ilk değiştirilebilir veya değiştirilmesi için tablo bağımlılıkları kaldırmak için bıraktı.Ema BALAMA, kullandığınızda select_statement iki parça adlarını içermelidir (schema**.**object) tabloları, görünümleri veya başvurulan kullanıcı tanımlı işlevler.Tüm başvurulan nesneler aynı veritabanı içinde olmalıdır.

    Ema BALAMA yan tümce ile oluşturulan bir görünüm katılan tablolar veya görünümler sürece şema bağlamaartık sahip olacak şekilde görünümü bırakılan veya iptal edilemez.Aksi takdirde, Veritabanı Altyapısı harekete geçiren bir hata.De, bu ifadeler görünüm tanımını etkiliyorsa deyimlerinin tablolarda şema bağlama görünümlerinde katılan bir alter table yürütme başarısız.

  • VIEW_METADATA
    Belirleyen bir örnek SQL Server için DBdöner-Kütüphane, odbc ve ole DB API temel tablo ya da browse-mode meta veriler görünüme başvuran bir sorgu için istenildiğinde tablo yerine görünüm hakkında meta veriler bilgileriBrowse-mode meta veriler olan ek meta veriler , örnek SQL Server Bu istemciverir-side API'leri.Bu meta veriler istemcisağlar-side güncellenebilir istemciuygulamak için API-imleçleri.Browse-mode meta veriler ait sonuç kümesi sütun temel tablo hakkında bilgi içerir.

    sonuç kümesigörünümden sütunlar açıklar VIEW_METADATA ile oluşturulan görünümleri için browse-mode meta veriler görünüm adı ve temel tablo adlarını döndürür.

    WITH VIEW_METADATA, tüm sütunlarını kullanarak görünüm oluşturulduğunda dışındaki bir timestamp sütun, öğeler görünüm INSTEAD OF INSERT veya update INSTEAD OF tetikler güncelleştirilebilir.Güncelleştirilebilir görünümler hakkında daha fazla bilgi için Açıklamalar'a bakın.

Açıklamalar

Bir görünümü yalnızca geçerli veritabanında oluşturulabilir.Bir görünüm, en çok 1.024 sütunlar olabilir.

Bir görünümü sorgularken Veritabanı Altyapısı emin olun, tüm veritabanı nesnelerini deyim herhangi bir başvuruda bulunması ve emin olduklarını deyimbağlamında geçerli ve olduğunu veri değişikliği deyimleri değil ihlal bakarherhangi veri bütünlüğü kurallarını.Başarısız bir denetim bir hata iletisi döndürür.Başarılı onay temel tablo veya tablolar karşı eylem eylem dönüştürecektir.

Bir tablo veya bırakıldı, Görünüm Görünüm bağlıdır, Veritabanı Altyapısı üreten bir hata iletisi herkes çalışır kullanma görünüm.Yeni tablo ya da görünüm oluşturulur ve tablo yapısını bırakılan birini değiştirmek için önceki temel tablo değişmez, görünümü yeniden kullanılabilir duruma gelir.Yeni tablo ya da görünümün yapısını değiştirirse, görünümü bırakılan silinmeli ve yeniden oluşturulmalıdır.

Görünüm ema BALAMA yan tümceile oluşturulmamışsa sp_refreshview görünümünün tanımını etkileyen görünümün temelindeki nesnelere değişiklikler yapıldığında çalıştırılmalıdır.Aksi halde, onu sorgulandığında görünümü beklenmeyen sonuçlar oluşturabilir.

Bir görünüm oluşturduğunuzda, görünümle ilgili bilgileri aşağıdaki katalog görünümleride saklanır: sys.Views, sys.columns, ve sys.sql_expression_dependencies.create VIEW deyim metin depolanan sql_dependencies Katalog görünümü.

Bir dizin ile tanımlanmış bir görünüm kullanan bir sorgu numeric veya float ifadeleri benzer bir sorgu, kullanma indeks farklı bir sonuç olabilirgörünüm.Bu fark temel tablolarda INSERT, delete veya update eylemleri sırasında yuvarlama hatalarının tarafından neden olabilir.

Veritabanı Altyapısı Bir görünüm oluşturulduğunda, set QUOTED_IDENTIFIER ve set ANSI_NULLS ayarlarını kaydeder.Bu özgün ayarlarına görünümün görünüm kullanıldığında ayrıştırmak için kullanılır.Bu nedenle, herhangi bir istemci-, görünümü erişildiğinde Görünüm tanımı set QUOTED_IDENTIFIER ve set ANSI_NULLS içinoturum ayarlarını etkilemez.

Güncellenebilir görünümleri

Aşağıdaki koşullar doğruysa sürece bir görünümü aracılığıyla temel bir temel tablo verileri değiştirebilirsiniz:

  • update, INSERT ve delete deyimlerini dahil olmak üzere herhangi bir değişiklik, yalnızca bir temel tablosütunları bulunmanız gerekir.

  • Görünümde değiştirilen sütunları tablo sütunları temel verileri doğrudan başvurmalısınız.Sütunları herhangi başka bir şekilde gibi şöyle türetilemez:

    • Bir toplu işlev: avg, count, TOPLA, MIN, max, GRUPLANDIRMA, STDSAPMA, STDSAPMAS, var ve VARS.

    • Bir hesaplama.Diğer sütunları kullanan bir ifade sütun hesaplanamıyor.küme işleçler birleşim, UNION all, CROSSJOIN, DIŞINDAKİLER, kullanılarak biçimlendirilir ve bir hesaplama tutarı KESİŞEN ve de güncelleştirilebilir değil sütunlar.

  • Değiştirilen sütunlar group by, HAVING veya DISTINCT yan tümceleri tarafından etkilenmez.

  • ÜST kullanılmaz herhangi bir yerde de select_statement yan tümceile Denetle seçeneği ile birlikte görünümünün.

Görünümüne uygularken herhangi view from yan tümce sorgularda önceki kısıtlamaları uygulanır.Genellikle, Veritabanı Altyapısı belirsizliğe yer bırakmadan izleme değişiklikleri bir temel tabloview definition olmalıdır.Daha fazla bilgi için, bkz. Bir görünüm üzerinden veri değiştirme.

Önceki kısıtlamalar veri görünümü doğrudan aracılığıyla değiştirmesini önlemek, aşağıdaki seçenekleri dikkate alın:

  • INSTEAD OF tetikleyicileri

    INSTEAD of tetikleyicileri güncelleştirilebilir bir görünüm oluşturmak için bir görünüm oluşturulabilir.INSTEAD of tetikleyicisi tetikleyici tanımlanmış veri değişikliği deyim yerine yürütülür.Bu tetikleyici küme , veri değişikliği deyimişlemek için gerçekleşmesi gereken eylemleri belirtmek sağlar.Bu nedenle, bir görünüm için bir INSTEAD of tetikleyicisi varsa, bir özel veri değişikliği deyim (INSERT, update veya delete), karşılık gelen bu deyimgüncelleştirilebilir görünümdür.Hakkında Tetikleyiciler yerine daha fazla bilgi için bkz: INSTEAD OF tetikleyicileri tasarlama.

  • Bölümlenmiş görünümler

    Bölümlenmiş görünümün görünüm ise, bazı kısıtlamalar güncelleştirilebilir bir görünümdür.Gerektiğinde, Veritabanı Altyapısı ayıran yerel bölümlenmiş görünümler görünüm, tüm tablo ve Görünüm olan aynı örnek olarak SQL Serverve en az bir tablo görünümünde bulunduğu bir farklı ya da uzak sunucu. görünümler olarak bölümlenmiş görünümler dağıtılmış

    Bölümlenmiş görünümler hakkında daha fazla bilgi için bkz: Bölümlenmiş görünümler oluşturma.

Bölümlenmiş görünümler

Bölümlenmiş görünümün bir UNION all tarafından aynı şekilde yapılandırılmış, ancak aynı örnek ya da birden çok tabloları gibi ayrı ayrı depolanan üye tabloların tanımlı bir görünümüdür SQL Server veya bir grup özerk örneklerini SQL Server federasyon veritabanı sunucularıolarak adlandırılan sunucuları,.

Not

Tercih edilen yöntem yerel bir sunucuya veri bölümleme bölümlenmiş tabloları olur.Daha fazla bilgi için, bkz. Bölümlenmiş tablolar ve dizinler.

bölümleme planını tasarlarken, bu verileri her bölüme ait açık olmalıdır.Örneğin, verileri Customers tablo üç sunucu konumlarını üç üye tablolarda dağıtılır: Customers_33on Server1, Customers_66 on Server2, and Customers_99 on Server3.

Bölümlenmiş görünümün üzerinde Server1 aşağıdaki şekilde tanımlanır:

--Partitioned view as defined on Server1
CREATE VIEW Customers
AS
--Select from local member table.
SELECT *
FROM CompanyData.dbo.Customers_33
UNION ALL
--Select from member table on Server2.
SELECT *
FROM Server2.CompanyData.dbo.Customers_66
UNION ALL
--Select from mmeber table on Server3.
SELECT *
FROM Server3.CompanyData.dbo.Customers_99

Genellikle, bir görünümü şu biçimde ise bölümlenmiş bir görünüm olduğu söylenir:

SELECT <select_list1>
FROM T1
UNION ALL
SELECT <select_list2>
FROM T2
UNION ALL
...
SELECT <select_listn>
FROM Tn

Bölümlenmiş görünümler oluşturma koşulları

  1. Seçlist

    • üye tablolardaki tüm sütunların görünüm tanımının sütun listesinden seçilmesi gerekir.

    • Aynı sıralı konumunu her sütun select list olması gereken aynı türde dahil alfabe.Genellikle durum BİRLİĞİ olarak örtük olarak dönüştürülebilir türleri sütunlar için yeterli değildir.

      Ayrıca, en az bir sütun (örneğin <col>) seçim listelerinde aynı sıralı konumunu görünmesi gerekenBu <col> bir şekilde tanımlanmalıdır, üye tablolar T1, ..., Tn Kontrol kısıtlamaları olan C1, ..., Cn üzerinde tanımlı <col>, sırasıyla.

      Kısıtlama C1 tabloüzerinde tanımlı T1 şu biçimde olmalıdır:

      C1 ::= < simple_interval > [ OR < simple_interval > OR ...]
      < simple_interval > :: = 
      < col > { < | > | <= | >= | = < value >} 
      | < col > BETWEEN < value1 > AND < value2 >
      | < col > IN ( value_list )
      | < col > { > | >= } < value1 > AND
      < col > { < | <= } < value2 >
      
    • Kısıtlamalar herhangi değeri belirtilen şekilde olmalıdır, <col> karşılamak, en fazla kısıtlamalardan biri C1, ..., Cn böylece kısıtlamaları form bir küme , ayrık ya da örtüşmeyen aralıkları.sütun<col> , ayrık kısıtlamaları tanımlandığına bölümlemesütundenir. bölümlemesütun temel tablolarda farklı adlar gerekebileceğini unutmayın. Kısıtlamalar için bunları bölümleme sütunyukarıda belirtilen koşulları karşılayan etkin ve güvenilir bir durumda olmalıdır.check kısıtlaması kullanarak denetleme kısıtlaması kısıtlamalarını devre dışı bırakılmışsa, yeniden constraint_name , alter table ve onları doğrulamak için başvurun seçeneğini kullanarak seçeneği.

      Aşağıdaki örnekler, geçerli kümesi kısıtlamaları gösterir:

      { [col < 10], [col between 11 and 20] , [col > 20] }
      { [col between 11 and 20], [col between 21 and 30], [col between 31 and 100] }
      
    • Aynı sütun seçme listesinde birden çok kez kullanılamaz.

  2. Bölümleme sütun

    • bölümlemesütun , tablobirincil anahtar parçasıdır.

    • Hesaplanan, kimlik, varsayılan, olamaz veya timestamp sütun.

    • üyetabloaynı sütun birden fazla kısıtlama ise veritabanı altyapısı tüm kısıtlamalar dikkate almaz ve bunları görünümünde bölümlenmiş bir görünüm olup olmadığını belirlerken dikkate almaz. Bölümlenmiş görünümün koşullarını karşılamak üzere olmalıdır bölümlemesütunyalnızca bir bölümleme sınırlaması.

    • bölümlemesütunGüncelleştirilebilirlik üzerinde sınırlama yoktur.

  3. Üye tabloları veya arka plandaki tablolarT1, ..., Tn

    • Tabloları, yerel tablo veya tablolar çalıştıran diğer bilgisayarlardan olabilir SQL Server , başvuru dört bir ad veya bir opendatasource veya openrowset tabanlı ad.opendatasource ve openrowset sözdizimi, bir tablo adı, ancak değil doğrudan sorgubelirtebilirsiniz.Daha fazla bilgi için, bkz. opendatasource (Transact-SQL) ve OPENROWSET (Transact-SQL).

      Bir veya daha fazla üye tablo uzak, görünüm adı verilen dağıtılmış bölümlü görünüm, ve ek koşullar geçerlidir.Bunlar, daha sonra bu bölümde açıklanmıştır.

    • Aynı tablo küme deyimUNION all ile birleştirilmiş tabloların iki kez bulunamaz.

    • üye tabloları tablohesaplanan sütunlar üzerinde oluşturulan dizinler olamaz.

    • üye tabloları tüm PRIMARY key kısıtlamaları aynı sayıda sütun üzerinde olması gerekir.

    • Görünümdeki tüm üye tabloları ANSI doldurma aynısına sahip olmalıdır.Bu küme kullanarak olabilir kullanıcı seçenekleri , seçenek sp_configure veya set deyim.

Bölümlenmiş görünümler verileri değiştirmek için koşullar

Bölümlenmiş görünümler'deki verileri değiştirmek deyimleri için aşağıdaki kısıtlamalar geçerlidir:

  • INSERT deyim bile temel üye tabloların bu sütun için varsayılan kısıtlama veya null değerler için izin vermek, görünümdeki tüm sütunların değerlerini sağlamanız gerekir.Varsayılan tanımları olan bu üye tablo sütunları, ifadeler açıkça varsayılan anahtar sözcüğünü kullanamazsınız.

  • bölümlemesütun eklenmekte değeri temel kısıtlamalar en az birini karşılamak; Aksi takdirde, INSERT eylem kısıtlama ihlaliile başarısız olur.

  • update deyimleri sütun karşılık gelen üyetablotanımlanan varsayılan değeri olsa bile, varsayılan anahtar sözcük set yan tümcedeğer olarak belirtemezsiniz.

  • INSERT veya update deyimkullanarak bir veya daha fazla üye tablo kimlik sütun olan sütunlar görünümde değiştirilemez.

  • üye tablolardan birini içeriyorsa, bir timestampsütun, bir INSERT veya update deyimkullanarak verileri değiştirilemez.

  • üye tablolardan birini tetikleyici veya bir on update cascade/set null/set default veya on delete cascade/set null/set varsayılan kısıtlama içeriyorsa, görünümü değiştirilemez.

  • INSERT, update ve delete eylemleri bölümlenmiş bir görünüm karşı bir kendi kendinebirleştirmek aynı görünüm veya deyim üye tablolardan herhangi birini ise verilmez.

  • Olarak bölümlenmiş bir görünüm veri alma toplu desteklenmeyen bcp veya bulk INSERT ve Ekle...SEÇİN * ndan openrowset(bulk...) ifadeleri.Ancak, birden çok satır bölümlenmiş bir görünüm kullanarak ekleyebileceğiniz Ekle deyim.Daha fazla bilgi için, bkz. Toplu bir görünüme verilerden veya toplu alma veri verme.

    Not

    Bölümlenmiş görünümün güncelleştirmek için kullanıcı ekleme, güncelleştirme ve silme yetkileri üye tablolarda olması gerekir.

Dağıtılmış bölümlenmiş görünümler için ek koşullar

(Bir veya daha fazla üye tablolar uzak olduğunuzda) dağıtılmış bölümlenmiş görünümler için aşağıdaki ek koşullar geçerlidir:

  • dağıtılmış işlem güncelleştirmesi tarafından etkilenen tüm düğümler arasında Atom oranı garantilemek için başlatılır.

  • xact_abort set seçenek küme için INSERT, update, açık olması veya delete deyimlerini çalışmak için gerekir.

  • Tüm smallmoney ve smalldatetime olarak uzak tablo bölümlenmiş bir görünüm başvurulan sütunları eşlenen money ve datetime, sırasıyla.Bu nedenle, yerel tabloları (aynı konumdaki Sıra listesinde) karşılık gelen sütun olmalıdır money ve datetime.

  • Bölümlenmiş görünümün herhangi bağlantılı sunucu geri döngü bağlantılı sunucuolamaz.Bu aynı örnek gösteren bir bağlantılı sunucu , SQL Server.

INSERT, update set rowcount seçeneği ayar dikkate alınmaz ve görünümler ve uzak tabloları güncelleştirilebilir ilgili delete eylemleri bölümlenmiş.

üye tabloları ve bölümlenmiş görünümün tanımı, kullanıldıında SQL Serversorgu iyileştiricisi sorguları verimli üye tablolar veri erişimi kullanan akıllı planları oluşturur ONAY kısıtlaması tanımlarla query processor anahtar değerleri dağıtımını üye tabloları eşleştirir.Bir kullanıcı bir sorgu verdiğinde, the query processor where yan tümcetümcesinde belirtilen değerlere haritayı karşılaştırır ve az üye sunucular arasında veri aktarımı ile yürütme planı oluşturur.Bu nedenle, bazı üye tablolar uzak sunucuları, örnek bulunabilir, ancak SQL Server transfer edilmesi gereken dağıtılmış veri miktarı az olan dağıtılmış sorguları çözümler.Hakkında daha fazla bilgi için SQL Server sorguları çözümlemek bölümlenmiş görünümler üzerinde görmek Dağıtılmış bölümlenmiş görünümler çözme.

Çoğaltma konuları

çoğaltmaişlemine katılan üye tablolarda bölümlenmiş görünümler oluşturmak için aşağıdaki önemli noktalar geçerlidir:

  • Temel tabloların birleştirme çoğaltması veya abonelikleri güncelleştirme ile işlem çoğaltma konusuysa uniqueidentifier sütun da eklenmelidir select listesi.

    Bölümlenmiş görünümün içine INSERT eylemleri için NEWID() değer sağlamalısınız uniqueidentifier sütun.Herhangi bir güncelleştirme eylemini karşı uniqueidentifier sütun olmalıdır tedarik NEWID() değer olarak default anahtar kullanılamaz çünkü.

  • Tablolar iki farklı veritabanı çoğaltıldığında görünümünü kullanarak yapılan güncelleştirmeler çoğaltma aynıdır: tabloları farklı çoğaltma aracıları tarafından sunulan ve güncelleştirmeleri sırasını garanti.

İzinler

create VIEW izni veritabanında ve görünümü oluşturulmaktadır şema üzerinde alter izni gerektirir.

Örnekler

A.Basit bir create VIEW kullanarak

Aşağıdaki örnek, basit bir kullanarak bir görünüm oluşturur SELECT deyim.Basit görünüm, sütun birleşimi sık sorgulandığında yararlıdır.Bu görünümden veri geldiği HumanResources.Employee ve Person.Person tabloları AdventureWorks2008R2 veritabanı.Adı ve işe alma tarih bilgi çalışanları için veri sağlar Adventure Works Cycles.Kişinin iş Yıldönümleri izleme sorumlu olan ancak bu tablolardaki tüm veriler için bu kişinin erişim veren olmadan görünümü oluşturulamadı.

USE AdventureWorks2008R2 ;
GO
IF OBJECT_ID ('hiredate_view', 'V') IS NOT NULL
DROP VIEW hiredate_view ;
GO
CREATE VIEW hiredate_view
AS 
SELECT p.FirstName, p.LastName, e.BusinessEntityID, e.HireDate
FROM HumanResources.Employee e 
JOIN Person.Person AS p ON e.BusinessEntityID = p.BusinessEntityID ;
GO

B.Şifreleme ile kullanma

Aşağıdaki örnek WITH ENCRYPTION programlarını ve seçenek hesaplanan sütunlar, yeniden adlandırılan sütun ve birden çok sütun.

USE AdventureWorks2008R2 ;
GO
IF OBJECT_ID ('Purchasing.PurchaseOrderReject', 'V') IS NOT NULL
    DROP VIEW Purchasing.PurchaseOrderReject ;
GO
CREATE VIEW Purchasing.PurchaseOrderReject
WITH ENCRYPTION
AS
SELECT PurchaseOrderID, ReceivedQty, RejectedQty, 
    RejectedQty / ReceivedQty AS RejectRatio, DueDate
FROM Purchasing.PurchaseOrderDetail
WHERE RejectedQty / ReceivedQty > 0
AND DueDate > CONVERT(DATETIME,'20010630',101) ;
GO

C.ONAY seçeneği ile kullanma

Aşağıdaki örnek, adlı bir görünümü gösterir SeattleOnly , başvuran beş tabloları ve veri değişikliklerine yalnızca yaşayan İstanbul çalışanlara uygulamak için verir

USE AdventureWorks2008R2 ;
GO
IF OBJECT_ID ('dbo.SeattleOnly', 'V') IS NOT NULL
    DROP VIEW dbo.SeattleOnly ;
GO
CREATE VIEW dbo.SeattleOnly
AS
SELECT p.LastName, p.FirstName, e.JobTitle, a.City, sp.StateProvinceCode
FROM HumanResources.Employee e
    INNER JOIN Person.Person p
    ON p.BusinessEntityID = e.BusinessEntityID
    INNER JOIN Person.BusinessEntityAddress bea 
    ON bea.BusinessEntityID = e.BusinessEntityID 
    INNER JOIN Person.Address a 
    ON a.AddressID = bea.AddressID
    INNER JOIN Person.StateProvince sp 
    ON sp.StateProvinceID = a.StateProvinceID
WHERE a.City = 'Seattle'
WITH CHECK OPTION ;
GO

D.Bir görünüm içinde yerleşik işlevler kullanarak

Aşağıdaki örnek, yerleşik bir işleviçeren bir görünüm tanımı gösterir.İşlevler kullandığınızda, türetilmiş sütuniçin sütun adını belirtmeniz gerekir.

USE AdventureWorks2008R2 ;
GO
IF OBJECT_ID ('Sales.SalesPersonPerform', 'V') IS NOT NULL
    DROP VIEW Sales.SalesPersonPerform ;
GO
CREATE VIEW Sales.SalesPersonPerform
AS
SELECT TOP (100) SalesPersonID, SUM(TotalDue) AS TotalSales
FROM Sales.SalesOrderHeader
WHERE OrderDate > CONVERT(DATETIME,'20001231',101)
GROUP BY SalesPersonID;
GO

E.Bölümlenmiş veri kullanma

Aşağıdaki örnek adlı tabloları kullanır SUPPLY1, SUPPLY2, SUPPLY3, ve SUPPLY4.Bu tabloları farklı ülkelerde/bölgelerde bulunan dört ofisleri gelen tedarikçi tablolara karşılık gelir.

--Create the tables and insert the values.
CREATE TABLE dbo.SUPPLY1 (
supplyID INT PRIMARY KEY CHECK (supplyID BETWEEN 1 and 150),
supplier CHAR(50)
);
CREATE TABLE dbo.SUPPLY2 (
supplyID INT PRIMARY KEY CHECK (supplyID BETWEEN 151 and 300),
supplier CHAR(50)
);
CREATE TABLE dbo.SUPPLY3 (
supplyID INT PRIMARY KEY CHECK (supplyID BETWEEN 301 and 450),
supplier CHAR(50)
);
CREATE TABLE dbo.SUPPLY4 (
supplyID INT PRIMARY KEY CHECK (supplyID BETWEEN 451 and 600),
supplier CHAR(50)
);
GO
INSERT dbo.SUPPLY1 VALUES ('1', 'CaliforniaCorp'), ('5', 'BraziliaLtd');
INSERT dbo.SUPPLY2 VALUES ('231', 'FarEast'), ('280', 'NZ');
INSERT dbo.SUPPLY3 VALUES ('321', 'EuroGroup'), ('442', 'UKArchip');
INSERT dbo.SUPPLY4 VALUES ('475', 'India'), ('521', 'Afrique');
GO
--Create the view that combines all supplier tables.
CREATE VIEW dbo.all_supplier_view
WITH SCHEMABINDING
AS
SELECT supplyID, supplier
FROM dbo.SUPPLY1
UNION ALL
SELECT supplyID, supplier
FROM dbo.SUPPLY2
UNION ALL
SELECT supplyID, supplier
FROM dbo.SUPPLY3
UNION ALL
SELECT supplyID, supplier
FROM dbo.SUPPLY4;