• oracle'da kullanilan sql varyasyonu..
  • (bkz: t sql)
  • procedure languge/ structured query language
    3. kusak programlama dilidir. bu dil oracle database de sql e destek olmasi icin dusunulup hazirlanmis pekte iyi olmustur. ve boylece prosedural islemlerde ki sql in yetersizligi pl/sql destegiyle cozulmus.
    bu dilin yardimiyla oracle database icin prosedurler, fongsiyonlar, packages ve database trigger leri yapilabilir.
  • kısa ve öz bir açıklamaya şu adresten ulaşılabilir:
    http://www-db.stanford.edu/…structure%20of%20pl/sql
  • (bkz: sql plus)
  • sentaks diyagramlarına (niklaus wirth amcamın railroad diyagramları) kadar pascal'a benzeyen dildir.
  • http://www.cs.umbc.edu/…server.815/a67842/index.htm adresinden gayet doyurucu bilgiler edinebilirsiniz
  • gerekli kısımları yazıyorum;

    [sorgunun baslangici] where f_id not in(select k_id from table_name) [sorgunun devamı]

    şeklinde bir kullanım sırasında eğer "select k_id from table_name" sorgusunda en az bir adet null gelen satır var ise yazdığınız asıl sorgudan herhangi bir sonuç dönmeyecektir.

    3 adet yöntem ile aşılabilir
    1. sorguyu "select k_id from table_name where k_id is not null" şeklinde yazmak
    2. nvl(k_id, [numeric_value]) şeklinde kontrol altında tutmak
    3. tabloda k_id alanına default değer vermek

    2. numaralı yontemde vereceginiz degerin kontrol ettiginiz deger ile cakısmamasına dikkat etmeniz gerekir.

    3. numaralı yontem aslında çok mantıklı degil gibi çünkü default değer vermek her zaman uygun olmayabilir, kaldı ki içteki sorgu "select k_id from table_name" gibi basit bir sorgu olmayıp bilumum join işleminden sonra sonuc veren bir sorgu olabilir.

    bu durum diger firmaların (ms sql, mysql, sybase vs...) sql varyasyonlarında nasıldır net olarak bilemiyorum.
  • bu aralar öğrenmek için çaba sarfettiğim işlemsel sorgulama dilidir.

    çabuk öğrenmek için önerisi olana ve kaynak önerene bi hayli müteşekkir olurum.
  • sql bile bilmeden, flagship ürünü bir pl/sql framework'ü olan bir şirkette staja başlarsanız şike şike öğreneceğiniz dildir. bi boka benzemiyor. çok boyutlu array bile yok lan!? (bu kısıtlama aşılabiliyor, wikipedia sayfasında bile nasıl aşıldığı anlatılmış)

    bir de
    select 'rgone' as username, 'var' as gideri from dual
    satırında niye hata verir anlamamışımdır. ama o direkt sql'in tuhaflığı da olabilir.

    edit1: sql hatası column isimleri çift tırnak içine alınarak çözülebilmekte. internete teşekkür ediyorum.

    edit2: az önce de
    v_nodelist_t array(4000) of varchar2(255) ;
    şeklinde bir değişken tanımında sıçtığını fark ettim. doğru yolu
    "type a4000vc255 is array(4000) of varchar2(255);
    v_nodelist_t a4000vc255;"
hesabın var mı? giriş yap