Başlangıç > Database, Oracle, PL/SQL > pl/sql de timestamp kullanımı

pl/sql de timestamp kullanımı


Merhaba,
Database üzerinde kullandığımız tablolarımız anlık ya da yapılan işlemlere göre periyodik olarak değişmektedir. Bu işlemlerle tablolarımıza yeni veriler eklenir ya da mevcut verilen değiştirilir ve silinebilinir. İşlem yaptığımız tabloların mevcut durumdaki içerikleri değil de bir zaman dilimindeki durumunu görmek ya da o zaman dilimindeki sahip olduğu verilere erişmek istersek timestamp yapısını kullanabiliriz.

Öncelikle bu işlemin örnek kullanımına geçmeden önce kullanacak olduğumuz tabloya select atıp mevcut içeriğini görelim.

SELECT * FROM timestamp_table;
TT_ID TT_ACIKLAMA TT_TARIH
1 Timestamp açıklama bilgisi 01.02.2011 20:47:29
2 Test timestamp bilgisi 01.02.2011 20:47:29

Tablomuz mevcut yapısını ve içeriğini gördüğümüze göre şimdi tablomuzun mevcut içeriğini değiştirelim ve timestamp yapısı ile tablomuzun yukarıdaki haline ulaşalım. Tablomuzda yaptığımız değişikliklerin daha iyi anlaşılması için mevcut verilere yeni veri ekleyelim ve var olan bir veriyi değiştirelim.

DECLARE
BEGIN
  BEGIN
    INSERT INTO timestamp_table
      (tt_id,
       tt_aciklama,
       tt_tarih)
    VALUES
      (3,
       'Timestamp tablosuna yeni eklenen bilgi',
       SYSDATE);
  END;
  BEGIN
    UPDATE timestamp_table SET tt_aciklama = tt_aciklama || ' Değiştirilen Kayıt.' WHERE tt_id = 1;
  END;
  COMMIT;
END;

Bu işlemlerden sonra tablomuzun son haline tekrar göz atalım ve tablomuzun ilk önceki ve değişikliklerden sonraki halini detaylı olarak görelim.

SELECT * FROM timestamp_table;
TT_ID TT_ACIKLAMA TT_TARIH
1 Timestamp açıklama bilgisi Değiştirilen Kayıt. 01.02.2011 20:47:29
2 Test timestamp bilgisi 01.02.2011 20:47:29
3 Timestamp tablosuna yeni eklenen bilgi 04.02.2011 19:46:17

Sorgu sonucunda da görüldüğü gibi artık tablomuzdaki veriler değişmiş ve yeni veriler eklenmiş durumunda. Şimdi timestamp yapısını kullanarak tablomuzun istediğimiz zaman dilimindeki halini rahatlıkla görüntüleyebiliriz.

Yazacağımız timestamp içeren sql ile tablomuzun ilk halinin bulunduğu zaman dilimine gidelim.

SELECT * FROM timestamp_table AS OF TIMESTAMP to_timestamp('02-02-2011', 'dd-mm-yyyy');
TT_ID TT_ACIKLAMA TT_TARIH
1 Timestamp açıklama bilgisi 01.02.2011 20:47:29
2 Test timestamp bilgisi 01.02.2011 20:47:29

Görüldüğü gibi timestamp kullanılarak işlem yaptığımız tablonun istediğimiz zaman dilimindeki durumuna erişebiliyoruz.
Kolay gelsin.

Reklamlar
  1. Henüz yorum yapılmamış.
  1. No trackbacks yet.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: