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

CHARINDEX Fonksiyonu

CHARINDEX fonksiyonu ile bir string türündeki veri içinde istediğimiz bir string verinin (bir karakter olabilir, birden fazla karakter olabilir) başladığı noktayı tespit edebiliriz. Örneğin e-mailleri tutan bir alanınız mevcut, burada @ işareti öncesi ve sonrasını belirlemede kullanabilirsiniz. SELECT TOP 10 EmailAddressID ,EmailAddress, CHARINDEX(‘@’,EmailAddress) AS ‘@ işaretinin konumu’ FROM Person.EmailAddress Sonuç: SELECT TOP 10 EmailAddressID ,EmailAddress,… Okumaya devam et CHARINDEX Fonksiyonu

CHOOSE ve REVERSE Fonksiyonu

CHOOSE fonksiyonu SQL 2012 ile birlikte gelen yeni bir fonksiyondur. Bu fonksiyon ile birlikte bir diziden istenilen sıradaki yani istenilen indeks numarasıdaki verinin geri döndürülmesi sağlanır. SELECT CHOOSE (3, ‘a’, ‘b’, ‘c’, ‘ç’, ‘d’, ‘e’, ‘f’) Sonuç: 3. sırada yer alan c geri geri döner. REVERSE fonksiyonu string bir verinin tersini döndürür. SELECT REVERSE(‘Deneme’) Sonuç:… Okumaya devam et CHOOSE ve REVERSE Fonksiyonu

İlk blog gönderisi

Bu ilk gönderiniz. Değiştirmek veya silmek için Düzenle’ye tıklayın veya yeni bir gönderi başlatın. İsterseniz, bu gönderide okuyuculara bu bloga neden başladığınızı ve ne yapmayı planladığınızı belirtin. Yardıma ihtiyacınız varsa destek forumlarında yer alan dost canlısı kişilere sorun.