Birbiri ile ilgili, farklı tiplerde olan verilerin tutulduğu yapılardır. Diğer Programlama dillerindeki Class(Java, C# vb.), Structure  (C ) gibi düşünülebilir. PL/SQL ‘de bu yapı ile birlikte farklı tiplerdeki verileri tutabiliyoruz ve çok büyük kolaylıklar sağlıyor bizlere. Farklı tipler derken farklı veri tiplerini kast ediyorum. Mesela bir kişiye ait iletişim bilgilerini tutacaksınız ve bu iletişim bilgilerinin içinde telefon numarası (number),e_mail (varchar),adres(varchar) var ve bunları bir arada tutmak istiyorsunuz. İşte bu gibi durumlarda Record yapısı işimize çok yarayacak.

  • Pl/Sql’de veritabanı ile iletişimde olan tipler tanımlamaktan bahsedersek %TYPE ve %ROWTYPE niteleyicilerini kullanabilirsiniz.
  • Record içindeki veri tipleri varchar2, date, number olabilir.
  • %Type ile istenilirse tablodaki bir kolonun veri tipi ile de eşleştirilebilir. Bu sayade ilgili tabloda ilgili kolonun veri tipi değiştiğinde bizim RECORD’umuz yeni veri tipini otomatik olarak algılayacaktır.
  • %RowTypeile belirtilen tablodaki tüm kolona adları ve veri tipleri ile Record oluşturulabilir. Tabloda herhangi bir değişiklik olması durumunda %RowType ile tanımlanan Record bu değişikliği otomatik olarak algılayacaktır.
  • Record içindeki veri tiplerinde “Not Null”  ve  “Default” Constraintlerini kullanabilirsiniz.
  • Record tanımlanırken daha önceden tanımlanmış bir Record Alan Adı olarak kullanılabilir (Nested Record).
  • Recordlar veritabanında tutulmazlar.
  • Tanımlanan  Record bir Fonksiyon(Function) için dönen değer olarak kullanabilir
  • Recordlar Prosedür(Procedure) ve Fonksiyonlar için “In” ve/veya  “Out” parametresi olarak kullanılabilir
  • Recordlardaki Alan Adları Tekil Olmak Zorunda.

 

Record üç farklı yapıda oluşturulabilir:

  • Tablo Tabanlı (Table Based)
  • Cursor Tabanlı (Cursor Based)
  • Kullanıcı tanımlı (User Defined)

(continue reading…)

Loading