Etiket- mssql

MSSQL Database Tablo Satır Sayılarını Listeleme

Merhaba arkadaşlar, aşağıda bir database’in tüm tablo satır sayılarının toplamını listeleyen sql sorgusunu sizler ile paylaşıyorum. Aşağıdaki sorguya geçmeden önce bir kaç ufak ipucu vererek biraz bilgi tazelemenizi sağlayacağım.

Clustered Index: Her tablo yalnızca bir clustered indekse sahip olabilir. Aslında indeksin sahip olduğu tablo fiziksel olarak sıralanmaktadır.

Non-Clustered Index: Her tablo birden fazla non-clustered index’e sahip olabilir ve Non-Clustered Index veriyi bulmamızı sağlayacak imleçleri (değerleri) ifade eder.

Heap: Tabloda verilerin herhangi bir sıralama ve düzenin yapılmadığı doğal halidir diyebiliriz. Bu durumda veriler tamamen birbirinden bağımsız olarak ifade edilebilir.

SELECT
      QUOTENAME(SCHEMA_NAME(sOBJ.schema_id)) + '.' + QUOTENAME(sOBJ.name) AS [TableName]
      , SUM(sPTN.Rows) AS [RowCount]
FROM 
      sys.objects AS sOBJ
      INNER JOIN sys.partitions AS sPTN
            ON sOBJ.object_id = sPTN.object_id
WHERE
      sOBJ.type = 'U'
      AND sOBJ.is_ms_shipped = 0x0
      AND index_id < 2 -- 0:Heap, 1:Clustered
GROUP BY 
      sOBJ.schema_id
      , sOBJ.name
ORDER BY [TableName]
GO

Devamını Oku

MSSQL Veritabanı Oluşturma, Silme ve İsim Değiştirme

Merhaba arkadaşlar bugün sizlere mssql’de veritabanı oluşturma, silme ve isim değiştirme gibi işlemleri anlatacağım.

Veritabanı Oluşturmak:

Syntax:

CREATE DATABASE  veritabanı_adı

Örnek:

CREATE DATABASE creade

Önce altta resimde görüldüğü gibi sol tarafta yeşil renkte gösterilen yerde “SERVER” dizinin seçili olması ve üst kısımda ise yani veritabanlarının gösterildiği yerde ise “master”  adının görünmesini sağlıyoruz. Devamını Oku

MsSQL üzerinde sayfalama işlemi

Merhaba,

Makalede MSSQL 2008 ve MSSQL 2012 de sayfalama yapma işlemini anlatacağım.

MSSQL 2008

T-SQL’de TOP anahtarını kullanarak SELECT ile geriye dönen liste içerisinden belirttiğimiz sayıdaki ilk kayıtları almak için kullanıyoruz. Ancak 10 ile 20 arasındaki kayıtları alamıyorduk. MSSQL 2008 de  bunun için ROW_NUMBER() geliştirildi. Kullanımı ise aşağıdaki gibidir,

Declare @SayfaNo INT=2;
Declare @SayfaBoyutu INT=3;

WITH MusteriListesi AS
(
SELECT ROW_NUMBER() OVER(ORDER BY ID) AS SatirNo
,m.*
FROM Musteriler as m
)

SELECT *
FROM MusteriListesi
WHERE SatirNo BETWEEN (@SayfaNo - 1) * @SayfaBoyutu + 1
AND @SayfaNo * @SayfaBoyutu

Devamını Oku