oracle

PL/SQL Komut Satırında Çıktı (Sonuç) Görüntülemek

Oracle veritabanı kullanıcısıysanız PL/SQL komut satırında (Command Line) bazı sonuçları görüntülemek isteyebilirsiniz. Bunun için dbms_output.put_line() fonksiyonu kullanılır.

Bazı araçlarda bu fonksiyonu kullandığımız halde sonuç görüntülenmeyebilir. Bu durumda serveroutput değişkenine on değerini atamamız gerekir.

SQL> set serveroutput on

Örneğin bir prosedür sonucunda "hosaf.org" yazdırmak istersek aşağıdaki şekilde yazmamız gerekecektir;

SQL> set serveroutput on
SQL> declare
  2    v_line varchar2(40);
  3  begin
  4    v_line := 'hosaf.org';
  5    dbms_output.put_line (v_line);
  6  end;
  7  /

hosaf.org
 
PL/SQL procedure successfully completed.

Bilgi kaynağı: http://www.dba-oracle.com/concepts/displaying_pl_sql_output.htm

Oracle'da (PL/SQL) Bir Satırın Varlık Bilgisini Alma İpucu

Bir veritabanı kaydının sadece varlığıyla yani olup olmadığıyla ilgileniyorsak ilk akla gelen strateji, count(*) yani kayıt sayısını alıp bu değerin sıfırdan büyük olup olmaması karşılaştırmasını yapmak.

KISI tablosunda GRUP alanı 1 olan kayıt var mı diye merak ettik diyelim.

select count(*) from KISI k where k.GRUP=1

Bu sorgu eğer KISI tablosunda GRUP alanı 1 olan çok fazla kayıt varsa uzun sürecektir. Halbuki biz sadece varlığını merak ettiğimiz için gereksizce beklemiş olma ihtimalimiz var.

Bu durumu çözmek için rownum anahtar kelimesini kullanabiliriz. rownum ile sorguyu daha da kısıtlayarak belli bir satır numarasından fazlasını almamayı sağlayabiliriz. Yani satır numarası 1 olan kaydın sayısını (count(*)) where koşulunda rownum=1 ile kısıtlayarak çekersek en az bir tane bu tipte kayıt olduğunu ya da hiç olmadığını anlayabiliriz;

select count(*) from KISI k where k.GRUP=1 and rownum=1

Bu sorgu sonucunda elimize ya 0 ya da 1 değeri gelecektir. 0 olduğunda herhangi bir kayıt sayılmamış yani hiç bu koşula uygun kayıt yok demektir. 1 ise belki birden fazla vardır fakat en azından bir tane bu koşula uygun kayıt vardır demektir. İlgilendiğimiz bilgi varlık olduğundan bu sorgu büyük kayıtlara sahip olabilecek tablolarda daha hızlı cevap verecektir.

Kaynak: https://stackoverflow.com/questions/1088156/quickest-query-to-check-for-...

Oracle DB Notları

Oracle veritabanı ile ilgili notlarımı burada paylaşıyorum.

Oracle Veritabanı Objeleri

Oracle'da temel olarak veritabanı objeleri şunlardır:

  • Table
  • Tablo yani satır ve sütunlardan oluşan temel birimdir.

  • View
  • Görüntü, yani bir veya birden çok tablodan alınan alt kümelerdir.

  • Sequence
  • Ana anahtar (primary key) değeri üreten birimdir.

  • Index
  • İstenen verilere daha hızlı bir biçimde ulaşılması için sıraya koyma birimidir. Sorgu performansını arttırırken, yeni veri kaydetme hızı düşer.

  • Synonim
  • Objelere verilen isimler için alternatif isimlere denir.

  • Program Unit
  • SQL ve PL/SQL ile yazılmış procedure, function ve package birimleridir.

Oracle Nosql Uygulama Yarışması

Oracle'ın "Nosql" adlı bir ürünü olduğunu duymuş muydunuz? Başka bir isim verilemezmiş gibi; koca bir veritabanı hareketinin adıyla ürün çıkarmak kendilerine göre "zekice" olsa gerek. İsim seçimini geçelim. Oracle, NoSQL tipindeki veritabanlarına piyasayı kaptırmamak adına Key-Value Store tarzı bir veritabanı geliştirmiş. Ben üründen haberdardım fakat dün gelen bir haberle bu ürün için bir uygulama yarışması yaptıklarını öğrendim. Merakınız ve ilginiz varsa, iPad kazanmak için Oracle Nosql veritabanını bir uygıulamanızda kullanarak yarışmaya katılabilirsiniz:

http://www.nosqlcontest.com/

Sayfalar

Subscribe to RSS - oracle