Sql Server

Sql Server set Deyimi

Herkese merhaba, Sql Server yazılarımıza kaldığımız yerden devam ediyoruz. Bu yazımızda set deyimi hakkında bilgi vereceğim. Hadi başlayalım !

Sql Server’da set deyimi ile birçok şey yapılabilmekte. Bunlardan en bilineni değişkene veri atama. Oluşturduğunuz bir değişkene ilk değerini atama yada değişkenin değerini değiştirmek için set deyimi kullanılmakta. Fakat set deyiminin kullanıldığı tek yer değişkenlere değer atama değil. Tarih formatını değiştirme, oturum dilini değiştirme, sorgulardan sonra x rows affeceted şeklinde çıkan nocount değerini değiştirme, sorguların çalıştırılmasındaki I/O işlemleri hakkında bilgi gösterme gibi birçok yerde kullanılmakta ve set ile yaptığınız değişiklikler ilgili oturumda geçerli olur, farklı bir oturuma geçtiğinizde yapmış olduğunuz değişiklikler silinecek ve Sql Server’ın ön tanımlı bilgileri kullanılacaktır. Farklı bir oturuma geçmekten kastım şu; Sql Server Management Studio gibi bir araç kullanıyorsanız her bir sorgu sayfası bir oturum demektir. Yada herhangi bir programlama dili ile Sql sorguları gönderiyorsanız her gönderdiğiniz sorgu bir oturum demektir. Sql Server Management Studio üzerinden ikinci bir Sql sayfası açtığınızda ilk açtığınız sayfada yapmış olduğunuz set atamaları geçersiz olacaktır. Aynı şekilde bir programlama dili ile veritabanına gönderdiğiniz sorgudan sonra farklı bir sorgu gönderdiğinizde ikinci sorguda da yeni bir oturum açılacak ve ilk sorgu ile gönderdiğiniz set atamaları geçersiz olacaktır. Aynı şey stored procedure ve fonksiyonlarda da geçerlidir. Yani bir stored procedure yada fonksiyon içerisinde set ile herhangi bir ayarlama yaparsanız, ilgili stored procedure veya fonksiyon bittikten sonra da değiştirdiğiniz set ifadesinin ön tanımlı değeri geçerli olur.

set deyimi ile değiştirebileceğiniz ifadeler;

Kategori İfade
Tarih ve Saatset dateformat
set datefirst
Kilitlemeset deadlock priority
set lock_timeout
Sorgu Çalıştırma set arithabort
set arithignore
set fmtonly
set nocount
set noexec
set numeric_roundabort
set parseonly
set query_governor_cast_limit set result
set caching
set rowcount
set textsize
ISO Ayarları set ansi_defaults
set ansi_null_dflt_off
set ansi_null_dflt_on
set ansi_nulls
set ansi_padding
set ansi_warnings
İstatistikset forceplan
set showplan_all
set showplan_text
set showplan_xml set statistics io
set statistics xml
set statistics profile
set statistics time
Transactionlarset implicit_transactions
set remote_proc_transactions
set transaction isolation level
set xact_abort
Sql Server set Deyimi

Tarih ve saat için ayarlanan set ifadeleri ile Sql Server’ın saat ve tarih kullanım şeklini değiştirebilirsiniz. Kilitleme dediğim lock, yani veri tutarlılığını sağlayan veritabanı, tablo, sütun ve satırlar üzerinde uygulanabilen yapılardır. Shared, Update, Exclusive, Intent, Bulk Update, Schema, Deadlock gibi çeşitleri vardır. Lock içinde set ifadeleri bulunmaktadır. Sorgu çalıştırma, doğrudan çalıştırılan Sql komutları içindir. ISO ayarları, ISO standartları için oluşturulmuş set ifadeleridir. İstatistik, herhangi bir Sql sorgusu çalıştırılırken harcanan bellek alanı, CPU miktarı gibi istatikleri gösterir, fakat sorgu sonucunda herhangi bir şey ekrana yazılacaksa onu yazdırmaz, sadece ilgili sorgu için istatistikleri gösterir. Transactionlar, sorguların doğru ve hatasız çalışıp çalışmadığını kontrol eden, sorgu hata verdiğinde aynı sorgu dosyası içerisinde daha önceki sorguların geri alınmasını sağlayan yapılardır ve set ifadesi ile de transactionlar yönetilebilir ve birkaç ayarı değiştirilebilir.

Bu yazımda sadece isim olarak belirttim fakat zaman içerisinde hepsini anlatacak ve yazı olarak paylaşacağım. Sql Server’da set genel olarak böyle olmakta, tüm Sql Server yazılarımıza buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.

Skorumuz:
Oy Vermek İçin Tıklayın
[Toplam: 0 Ortalama: 0]

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu