Kenan kılıçaslan

  • Baca Hesabı
  • Sürtünme Kaybı
  • Diferansiyel Denklem
  • Denklem Çözümü
SQL Server

Tabloya Veri Girme - INSERT Deyimi

Tabloya veri eklemek için INSERT deyimi kullanılır. Genel ifade aşağıdadır.

INSERT tabloAdı (Kolon Listesi) VALUES (değer listesi)
INSERT tabloAdı (col1_ad, col2_ad, ...) 
              VALUES (col1_deger, col2_deger, ...)

ÖNEMLİ NOT:

1- Kolon listesi ile değer listesi aynı sayıda, aynı sırada ve aynı tipte olmalıdır.

2- identity (otomatik sayı) kolonlara değer atanamaz. Bu nedenle bu kolonlar, kolon listesinde bulunmamalıdır.

3- Tablodaki kısıtlamalara uygun veri girilmedir.

4- Kolon listesinde tabloda bulunan tüm kolonlar bulunmayabilir. Olmayan kolonların değeri, ya varsayılan değer olur ya da NULL değer alır.

Aşağıdaki örnek tabloya veri girelim.

Create table tbl_urun 
(
    urun_kodu char(10) primary key not null,
    urun_adi varchar(30) not null,
    grubu char(2) default '01',
    fiyati money,
    birimi char(5) default 'ADET'
)

Aşağıda, ürün tablosunda urun_adi olarak 'defter', urun_kodu olarak '15010' değeri girilmiş ve tabloya eklenmiştir.

INSERT tbl_urun(urun_adi, urun_kodu) 
                    values ( 'defter', '15010' )

Yukarıdaki kodda, veri girilen kolon isimleri arasında, grubu, fiyati, birimi yoktur ancak yeni eklenen kayıtta bu kolonların bir değeri vardır.

Tablo tanımına baktığımızda, grubu kolonunun varsayılan değerinin '01' olduğunu görürüz. Yukarıdaki insert deyimi ile grubu değeri girilmediği için, bu değer varsayılan değer olan '01' olur.

Yine aynı şekilde, fiyati değeri de insert içinde bulunmuyor, tablo tanımında fiyat kolonu için varsayılan değer tanımlanmamış olup, yeni kayıt yaptığımızda bu değer NULL olur.

birimi kolonuna değer girilmediği için, yeni eklenen kayıtta, birimi değeri varsayılan değer olan 'ADET' olmuştur.

Aşağıdaki kayıtı ekleyelim.
insert tbl_urun (urun_adi, urun_kodu, birimi) 
                 values ('Ataç','15010', NULL)

Yukarıdaki kod hata verdi, çünkü urun_kodu primary key olarak tablo yapısında tanımlanmış olup, 15010 kodlu ürünü bir önceki örnekte girmiştik.

Ürün kodu olarak 15025 yaparak tekrar çalıştıralım.

insert tbl_urun (urun_adi, urun_kodu, birimi) 
                 values ('Ataç','15025', NULL)

Hata vermedi. ürün tablosunu listelediğimizde eklediğimiz iki kayıt listelenir.

DİKKAT:

1- Metinler tek tırnak içinde girilir.

2- Tarih yıl-ay-gün formatında tek tırnak içinde girilir.

3- Sayı girerken, tırnak kullanılmaz.

4- Ondalıklı sayıda, ondalık ayıracı nokta'dır, virgül kullanılmaz.

5- kolon isimleri ve değerleri arasında virgül kullanılır.

beyaz_sayfa_en_alt_oval