Anasayfa / Yazılım / SQL / Spesifik Veri Güncelleme İşlemleri

Spesifik Veri Güncelleme İşlemleri

Bir önceki yazımda sabit değer ile veri güncelleme işlemlerinin nasıl yapılacağını anlatmıştım.

UPDATE Kullanımı

Bu yazımda bir tablonun kolonlarından verilerin bir kısmını alarak güncelleme yapacağım. Söz dizimi synatx olarak kullanımı:

UPDATE tabloadı SET kolonadı = ifademiz [WHERE şart]

WHERE kısmı eğer şart belirlemek istiyorsak kullandığımız kısımdır. Örnekle konumuza devam edelim. AdventureWorks2012 veri tabanı üzerinde çalışacağım. Bu veritabanı üzerinde eğer mevcut ise mevcut olan tabloyu silmek ve yeniden oluşturmak için aşağıdaki kodu yazıyorum. Bunu çalıştırın daha sonra örneğimize geçelim.

IF EXISTS (SELECT * FROM sys.objects
WHERE object_id = OBJECT_ID(N'[dbo].[demoPersonStore]')
AND type in (N'U'))
DROP TABLE [dbo].[demoPersonStore]
GO
CREATE TABLE [dbo].[demoPersonStore] (
[FirstName] [NVARCHAR] (60),
[LastName] [NVARCHAR] (60),
[CompanyName] [NVARCHAR] (60)
);
INSERT INTO dbo.demoPersonStore (FirstName, LastName, CompanyName)
SELECT a.FirstName, a.LastName, c.Name
FROM Person.Person a
JOIN Sales.SalesPerson b
ON a.BusinessEntityID = b.BusinessEntityID
JOIN Sales.Store c
ON b.BusinessEntityID = c.SalesPersonID

(701 row(s) affected) mesajını aldım. Yani eğer var ise mevcut demoPersonStore tablosunu sildim, daha sonra yeniden oluşturdum. Daha sonra da veritanabında mevcut olan Person.Person ve Sales.SalesPerson tablolarından ilgili alanları kopyalayarak yeni tablomu oluşturdum. Şimdi konu örneğimize geçebiliriz :

Öncelikle dbo.demoPersonStore tablosunda FirstName,LastName, CompanyName alanlarını listeleyelim. Bununla birlikte YeniSirket adında bir kolon da oluşturalım bu kolon içindeki verilerde mevcut FirstName ve LastName kolonlarının ilk 4 harfinden oluşsunlar. Yani abcd.efgh gibi. Listeleyelim :

SELECT FirstName, LastName, CompanyName, 
LEFT(FirstName,4) + '-' + LEFT(LastName,4)
AS YeniSirket FROM dbo.demoPersonStore;

2013042910

Şimdi güncelleme işlemimizi yapalım. Yapmak istediğim aslında YeniSirket kolonunu oluşturmak istediğim gibi. Yani FirstName alanındaki ilk 4 harfi ve LastName alanındaki ilk harfi alıp bunları aralarında – ile birleştirip CompanyName alanını bu yeni şekli ile güncellemek:

UPDATE dbo.demoPersonStore 
SET CompanyName = LEFT(FirstName,4) + '-' + LEFT(LastName,4);

Sorgumu çalıştırdım ve (701 row(s) affected) mesajını aldım, bir bakalım cidden değişmiş mi?

SELECT * FROM dbo.demoPersonStore;

2013042911

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir