MS-SQL Insert ile Veri Girme

  • 20
  • (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.

Paylaşın
Etiket Bulutu