SQL de geçen dersimizde Insert Into komutuyla bir tabloya veri eklemeyi görmüştük.

Bu yazımda da aynı işleme devam edeceğiz ama bu sefer Foreign Key olan bir tabloya veri eklemeyi göreceğiz.

Aslında temelde bir farklılık yok sadece dikkat etmemiz gereken bir durum var oda bağlı tablolarda Primary Key’in olduğu tabloda eklenecek olan değerin var olmasıdır.

XENONBOX veri tabanımızdaki ORDERS tablosuna bir sipariş girdisi ekleyeceğiz. 

ORDERS tablosu CUSTOMER tablosu ile ilişkili olduğu için siparişi verebilecek kişinin sisteme kayıtlı olması beklenir.

Önce olmayan bir müşteri üzerinden sipariş kaydetmeye çalışalım.

5 Nolu müşteri sistemde kayıtlı değil ama siparişi verenin 5 numaralı müşteri olduğunu bildirip kaydetmeye çalıştık.

Alacağımız hata aşağıdaki gibidir.

The INSERT statement conflicted with the FOREIGN KEY constraint “FK__ORDERS__CUSTOMER__571DF1D5”. The conflict occurred in database “XENONBOX”, table “dbo.CUSTOMER”, column ‘ID’. The statement has been terminated.

Şimdi var olan 4 numaralı müşteri ile bir sipariş girmeye çalışalım.

Bunu eklerken herhangi bir sorun almadık sipariş böylece kaydolmuş oldu.

Datetime Kolonuna Değer Girmek

Burada bir konuya daha değinmekte fayda var. 

ORDERDATE kolonun veri türü Datetime bu veri türü girilirken aşağıdaki 2 yöntem kullanılabilir.

YYYY-MM-DD HH:MM:SS şeklinde bir formatta veri kaydedilebilir.

Yani 2017-01-01 21:00:00 şeklinde kayıt edilebilir.

Bununla beraber saati yazmadan sadece 2017-01-01 şeklinde de kaydedilebilir. Eğer saat verisi girilmez ise 00:00:00 olarak kaydedilecektir.

Bunları görelim.

 

Datetime kolonu veri tabanı işlerinde genelde çok farklı fonksiyonları olan ve sorun çıkaran veri tipidir. Ama hepsini iyi bir şekilde öğrenmeye devam edeceğiz.

Bu yazımında sonuna geldim görüşmek üzere.