PL/SQL nedir ?

Tuğba Cevizci —  3 Kasım 2015 — 1 Comment

Merhabalar,

Ben burada zaman zaman Oracle ve PL/SQL ile ilgili yazılar yazacağım. İlk olarak da PL/SQL nedir, ne değildir onu anlatmak istedim.

Öncelikle Sql nedir, PL/SQL nedir ve ortak yanları nelerdir ?

badges_DD_Database_Stage3

SQL, ilişkisel veritabanlarında verinin depolandığı birimlerle ilgili işlem yapabilmek veya veritabanını yönetebilmek için kullanılan bir dildir. PL/SQL ise Oracle şirketi tarafından SQL’in kısıtlamalarını aşabilmek için oluşturulan özel dildir.

Genel olarak Veritabanındaki işlemleri dört başlık altında düşünebiliriz:

DDL(Data Definition Language/Veri Tanımlama Dili): Veritabanı yapısını, şemaları ve tabloları tanımlamak için kullanılır.

En çok kullanılan komutlar ise:

CREATE, Veritabanında nesne yaratır.
ALTER, Veritabanın yapısını değiştirir ?
DROP, Veritabanından obje siler.
TRUNCATE, Tablodaki kayıtları içerdikleri alanla birlikte siler.
COMMENT, Yorum ekler.
RENAME, Nesnenin adını değiştirir.

DML(Data Manipulation Language/Veri Düzenleme Dili): Veritabanı içerisindeki verilerin, tabloların ve şemaların yönetilmesi için kullanılır.

SELECT, Veritabanından kayıt okur.
INSERT, Tabloya kayıt ekler.
UPDATE, Tablodaki kaydı günceller.
DELETE, Tablodaki kayıtları siler ama kapladığı alan kalır.
MERGE,  UPSERT işlemi (ekleme veya güncelleme)
CALL,  PL/SQL veya Java alt programı çalıştırır.

TCL(Transaction Control Language/İşlem Kontrol Dili): Transaction veritabanındaki işlem ya da işlemlerdir. Bu işlemlerle tablo, şema gibi depo birimleri ya da datalar üzerinde yapılacak herhangi bir değişikliğin geçerli olmasını ya da geri alınmasını sağlayabiliriz. Böylece transction’ları kontrol etmiş oluruz.

COMMIT, Yapılanları kaydeder.
SAVEPOINT, Daha sonra geri dönülecek bir dönüş noktası belirler.
ROLLBACK, Son commite kadar olan yeri geri alır.

DCL(Data Control Language/Veri Kontrol Dili): Veirtabanı üzerinde datalara erişimi kontrol etmek amacıyla kullanılan komutlardır.

GRANT, Kullanıcıya veritabanı erişim yetkisi verir.
DENY, Kullanıcıların haklarını kısıtlar.
REVOKE, GRANT ile verilen yetkiyi geri alır.

PL/SQL temel Sql komutlarının yanında akış kontrolleri, döngüler ve değişkenler kullanmamıza imkan sağlar. Yani yapısal dillere ait özelliklerin Sql’e eklenmesiyle oluşmuş bir dildir. Bu da tek seferde istediğimiz kadar işlemi veritabanına gönderecğimizden, bizi, her seferinde Sql çalıştırmaktan daha hızlı sonuca ulaştırır.

En Basit PL/SQL block yapısı aşağıdaki gibidir:

Ekran Alıntısı4
Daha detaylı inceleyecek olursak;

Ekran Alıntısı2

⋅Declare tanımlama alanıdır. Burada memory içinde saklayabileceğimiz değişkenleri ya da cursor gibi tanımlamalar yapılır.

⋅Begin – End alanında asıl çalışacak sql kodlar, if/else gibi kontrol yapıları kullanılır.

⋅Exception alanında ise Oracle tarafından tanımlanmış hata bildirimlerini ya da kendimizin de tanımlayabileceği hatalar ya da kontrolümüzde olmayan durumlar karşısında neler yapmak isteyeceğimizi bildirebiliriz.

“Hello World” Örneği  :

Ekran Alıntısı3

Şimdilik burada sonlandırırken herhangi bir hata gördüğünüzde uyarmanızı dilerim.

Tuğba Cevizci

Posts Twitter Facebook

Sakarya Üniversitesi Bilgisayar Mühendisliğinden 2015 yılında mezun oldum. Sakarya Üniversitesi için Saü Özgür Yazılım Topluluğu kurucu başkanı olarak 2 sene çalışmalar yaptım.

One response to PL/SQL nedir ?

  1. Güzel bir yazı olmuş tebrik ederim. Yalnız, örnek olarak verilen komut isimlerine aynı zamanda birer örnek sorguda yazılırsa (En azından DML için) daha güzel bir yazı olacağı kanaatindeyim. Örneğin Update için;

    UPDATE customers
    SET state = ‘California’,
    customer_rep = 32
    WHERE customer_id > 100;

    gibi. Yazıların devamını bekliyoruz. 🙂

Volkan Demir için bir cevap yazın Cevabı iptal et