MS-SQL Insert ile Veri Girme
- 147
- (1)
- (5)
- 07 Haz 2017
Insert Sorgusu
TRecords veritabanı ile insert
komutu hakkında bilgi edinebilirsiniz. Insert sorgusu veritabanı tablolarına veri girmek için kullanılmaktadır. Bu sorgunun kullanımındaki syntax yapısı temelde şöyledir.
insert into tablo_adi (alan1, alan2, alan3) values (@deger1, @deger2, @deger3)
Bu komutu kullanarak mevcut veritabanında bazı stok ve sipariş kayıtları oluşturulabilir.
insert into tabloStok (UrunID, StokAdet, GirisTarihi) values (32, 4, '05-14-2017')
sorgusu 32 ID li ürün için 14.05.2017 tarihli 4 adet stok oluşturmaktadır.
select * from tabloStok
sorgusu ile tabloStok
içerisinde oluşturulmuş kaydı görebiliriz.
insert into tabloStok (UrunID, StokAdet, GirisTarihi) values (105, 4, '05-16-2017')
sorgusu 105 ID' li bir ürün bulamayacağı için sonuç hatalı olacaktır.
MS-SQL Server' ın bu hatayı oluşturmasının sebebini anlamak için bir önceki sayfada select
sorgusuna giriş yapmadan önce gösterilen diagram şemasına bakabilirsiniz. tabloUrunler
tablosunun birincil anahtarı olan UrunID
alanı, tabloStok
tablosundaki UrunID
alanına ilişkisel olarak bağlı. Yani tabloUrunler
' de olmayan bir UrunID
değeri tabloStok
tablosuna eklenemez. Ve hatta tabloStok' ta olan bir UrunID
değeri tabloUrunler
tablosundan silinemez. Bu işlemlerin gerçekleşmesi tabloStok
tablosu üzerindeki ilişkisel UrunID
anahtarı kaldırılırsa ve iki tablo arası ilişki iptal edilirse mümkün olabilmektedir.
Insert Sorgusu ile Birden Çok Kayıt Girişi
Bazı durumlarda birden fazla stok kaydı girilmek istenebilir. Örneğin MSI markalı ürünlerin her birinden 5 er adet stok kaydını tek sorgu satırında girmek için şöyle yapmalıyız.
insert into tabloStok (UrunID, StokAdet, GirisTarihi)
select UrunID, 5, '2017-05-16' from tabloUrunler where MarkaID = 8
MSI markasının tabloMarkalar
' daki MarkaID
değeri 8' dir. Sorgu içerisinde doğrudan bu ID değeri kullanılabilir ya da left join
ile 'MSI' değerine karşılık gelen ID' ye de eşleştirilebilir.
insert into tabloStok (UrunID, StokAdet, GirisTarihi)
select UrunID, 5, '2017-05-16' from tabloUrunler u
left join tabloMarkalar m on m.MarkaID = u.MarkaID
where m.MarkaAdi = 'MSI'
select * from tabloStok
sorgusu ile tabloStok
içerisinde oluşturulmuş kayıtları görebiliriz.
İlişkili İçerikler
MS-SQL veritabanı sistemi Microsoft' un yıllardır geliştirip güncellediği ilişkisel bir veritabanı türüdür. Her türlü uygulamanıza rahatlıkla bağlayabileceğiniz veritabanlarını oluşturabilirsiniz.
MS-SQL veritabanı tablolarındaki veri satırlarını güncelleme konusunu inceleyebilirsiniz.
MS-SQL veritabanı tablolarındaki veri satırlarının nasıl silindiğini öğrenebileceğiniz metni inceleyebilirsiniz.