sql server 2012’de view ve cte

Post on 27-Jun-2015

273 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

SQL SERVER 2012’de VIEW ve CTEKavramıİBRAHİM ERSOYASSISTANT CONSULTANT - BİLGEADAM

Ajanda

VIEW

• View Nedir?• View Designer• VIEW

Oluşturma(TSQL)

• VIEW Update

VIEW Seçenekleri

• SCHEMABINDING

• CHECK• ENCRYPTION

CTE

• WITH

VIEW

VIEW NEDİR?

SQL Server üzerindeki bir veya birden çok tablodaki verilere ulaşmanıza olanak sağlayan sanal tablolarıdır.

VIEW DESIGNER

SQL Server üzerinde VIEW ler oluşturmanıza olanak sağlayan görsel arayüze View Designer denir.

Birkaç adımda SSMS kullanarak Viewler geliştirebilirsiniz.

VIEW Oluşturma(T-SQL)

Create View ornekviewASSelect * from Product

Oluşturma Çağırma

Select * from ornekview

VIEW Update

VIEW ları Update ederken bir takım kurallara uymak gerekir:

• Sadece tek bir tabloyla çalışırken• View muhakkak bir Primary Key e sahip olmalı• DISTINCT,GROUP BY,HAVING gibi ifadelere sahip olmamalı• İlişkili tablo yapısı olmayacak

VIEW Seçenekleri

WITH SCHEMABINDING

Bu özellik sonradan Tablo üzerindeki alanlarda değişiklik yapıldığında VIEW üzerinde de değişiklik yapılmasını sağlar.

Create View ornekview WITH SCHEMABINDINGas select * from Gorevler

WITH CHECK

Bu özellik view oluşturulduğunda ‘Where’ cümleciğini kullandığımız bir yapı söz konusu olduğunda ve ilerleyen dönemlerde bu cümlenin bağlantılı olduğu alanın kayıtlarının değiştirilmesini engeller.

Create View ornekview as select * from GorevlerWhere gorev='Genel Mudur'WITH CHECK OPTION

WITH ENCRYPTION

Bir View oluşturduğunuzda,View nesnesine ait açıklama bilgileri sys.syscomments de saklanır.Eğer ki biz başkalarının oluşturduğumuz view nesnesine ait açıklama bilgilerini okumasını istemiyorsak,ENCRYPTION kullanırız.

Create View ornekview WITH ENCRYPTIONas Select * from Gorevler

CTE(Common Table Expressions)

WITH SÖZCÜĞÜ

WITH sözcüğünü kod bloklarına benzetebilirsiniz.

CTE sorgu başladıktan bitene kadar yaşar.

With GorevSecici(GorevID,gorevad)as (Select gorev_id,gorevfrom Gorevler)

Select * from GorevSecici

C#’da ‘Object Initializer’ lara benzer

Sorular

Katıldığınız için Teşekkürler!

İbrahim ErsoyASSISTANT CONSULTANT - BİLGEADAM

top related