CURSOR Kullanımı

–tablo oluşturalım. IF OBJECT_ID(‘[dbo].[Hesap]’) IS NOT NULL DROP TABLE [dbo].[Hesap] CREATE TABLE [dbo].[Hesap](CREATE TABLE [dbo].[Hesap]( [id] [int] IDENTITY(1,1) NOT NULL, [Deger] [int] NULL, [Deger2] [int] NULL  ) –Değerleri insert edelim. INSERT INTO [dbo].[Hesap] (Deger) VALUES (10) INSERT INTO [dbo].[Hesap] (Deger) VALUES (20) INSERT INTO [dbo].[Hesap] (Deger) VALUES (30) INSERT INTO [dbo].[Hesap] (Deger) VALUES (40) INSERT… Okumaya devam et CURSOR Kullanımı

MERGE Komutu Kullanımı

Kaynak tabloda olup hedef tabloda olmayan verileri insert etmek, Kaynak tabloda olup hedef tabloda da olan verileri olması muhtemel değişiklikleri uygulamak için update etmek, Hedef tabloda olup artık kaynak tabloda bulunmayan kayıtları delete etmek. Insert, delete ve update yapılan kayıtların dbo.test tablosuna insert edilmesi yapılmaktadır. IF OBJECT_ID( ‘dbo.EmployeeSource’) IS NOT NULL DROP TABLE dbo.EmployeeSource; IF OBJECT_ID( ‘dbo.EmployeeTarget’) IS NOT NULL DROP… Okumaya devam et MERGE Komutu Kullanımı

Object Lock

Sql de takılan objelerin bulunmasına yarayan script SELECTSELECTt1.resource_type,t1.resource_database_id,t1.resource_associated_entity_id,t1.request_mode,t1.request_session_id,t2.blocking_session_id,OBJECT_NAME(t1.resource_associated_entity_id,t1.resource_database_id) ‘object name’,o1.type_desc ‘object descr’,p1.partition_id ‘partition id’,p1.rows ‘partition/page rows’,a1.type_desc ‘index descr’,a1.container_id ‘index/page container_id’FROM sys.dm_tran_locks as t1INNER JOIN sys.dm_os_waiting_tasks as t2 ON t1.lock_owner_address = t2.resource_addressLEFT OUTER JOIN sys.objects o1 on o1.object_id = t1.resource_associated_entity_idLEFT OUTER JOIN sys.partitions p1 on p1.hobt_id = t1.resource_associated_entity_idLEFT OUTER JOIN sys.allocation_units a1 on a1.allocation_unit_id = t1.resource_associated_entity_id

Etki Analizi

AdventureWorks2012 database deki tüm objelerin içinde “ProductAssemblyID” kelimesini aramak için aşağıdaki sql cümleciğini kullanabiliriz. USE AdventureWorks2012 GO SELECT DISTINCT o.name AS Object_Name,o.type_desc FROM sys.sql_modules m INNER JOIN sys.objects o ON m.object_id=o.object_id WHERE lower(m.definition) Like ‘%ProductAssemblyID%’ Sonuç:

OFFSET, FETCH NEXT ONLY Deyimlerinin Kullanımı

OFFSET kesinti anlamına gelir. OFFSET kullanmadan önceki sonuç: SELECT ProductID,Name FROM Production.Product ORDER BY ProductID OFFSET kullanmadıktan sonraki sonuç: ilk 4 satır kesiliyor. SELECT ProductID,Name FROM Production.Product ORDER BY ProductID OFFSET 4 ROWS FETC NEXT ONLY deyimi satır sınırlaması yapar. 4 tane satırı kestim 5 adet satır gösterimi yapılıyor. SELECT ProductID,Name FROM Production.Product ORDER BY… Okumaya devam et OFFSET, FETCH NEXT ONLY Deyimlerinin Kullanımı

ISNULL ve COALESCE Deyimleri

ISNULL, iki parametre alır ve bunların ikisini de kullanmak zorunludur, öncelikle kontrol etmek istediğimiz kolon adı sonra NULL olanların içeriğini değiştirmek istediğimiz veri.. SELECT TOP 10 FirstName + ‘ ‘ + ISNULL(MiddleName,’XXX’) + ‘ ‘ + LastName AS “Ad Soyad” FROM Person.Person Sonuç: COALESCE çalışması ISNULL’dan biraz farklıdır. Herhangi bir sayıda parametre alabilir ve ilk… Okumaya devam et ISNULL ve COALESCE Deyimleri