
Yukarıda verilen PL/SQL programının çıktısı aşağıdaki hangi seçenekte doğru verilmiştir?
1. -23 = -8
2. -8 * -2 = 16
3. 16 + 3 = 19
Sonuç olarak programın çıktısı 19 olur.
Kaynak: https://lolonolo.com/2025/10/06/pl-sql-veritabani-programlama-2024-2025-vize-sorulari/
PL SQL Veritabanı Programlama 2024-2025 Vize Soruları
PL/SQL (Procedural Language/Structured Query Language), Oracle veritabanı sistemleri için geliştirilmiş, SQL’e prosedürel yetenekler kazandıran bir programlama dilidir. Karar yapıları, döngüler, istisna işleme ve paketler gibi temel bileşenleri içerir; ancak bir “grafiksel kullanıcı arayüzü (GUI)” oluşturma yeteneğine sahip değildir. Bu makalede, PL/SQL dilinin temel yapısı, veri tipleri, operatörleri ve program akış kontrol mekanizmaları incelenecektir.
PL/SQL kodu, “blok” adı verilen yapılar içinde yazılır. Bir bloğun üç ana bölümü vardır:
Bloklar, “anonim” veya “isimli” olabilir. Anonim bloklar veritabanında saklanmaz ve “her çalıştırmada derleyici tarafından tekrar kontrol edilir”. Fonksiyon (Function) ve prosedür gibi yapılar ise bir isimle veritabanında saklanan “isimli bloklardır”.
PL/SQL, güçlü bir veri tipi sistemine sahiptir ve “değişken ve sabitler mutlaka bir veri tipiyle birlikte bildirilmelidir”. Sayısal, karakter, tarih gibi standart tiplerin yanı sıra, büyük boyutlu verileri saklamak için LOB (Large Object) veri tipleri de bulunur. BLOB, CLOB, NCLOB ve BFILE bu tiplerdendir; “NLOB” adında bir LOB tipi yoktur.
PL/SQL, zengin bir operatör ve fonksiyon setine sahiptir. Aritmetik işlemlerde işlem önceliği (üstel ifade, çarpma/bölme, toplama/çıkarma) bulunur. İki veya daha fazla karakter dizgesini birleştirmek için ise “+” yerine “||” operatörü kullanılır. `BETWEEN` operatörü, bir değerin belirli bir aralıkta olup olmadığını kontrol eder. `SYSDATE` gibi dahili fonksiyonlar ise veritabanı sunucusunun geçerli tarih ve zaman bilgisini döndürür.
PL/SQL, programın akışını yönlendirmek için çeşitli kontrol yapıları sunar.
PL/SQL, veritabanı işlemlerini güçlü bir programlama mantığıyla birleştiren bir dildir. Veri tipi dönüşümlerinden, `JIT` (Just-In-Time) derleme yapılarına kadar karmaşık özelliklere sahiptir. Bu dilin temel blok yapısını, veri tiplerini ve kontrol mekanizmalarını anlamak, Oracle veritabanları üzerinde verimli ve güçlü uygulamalar geliştirmek için vazgeçilmez bir adımdır.




DOUBLE PRECISION, SMALLINT, DECIMAL ve REAL, PL/SQL'de NUMBER veri tipinin alt tipleridir. PLS_INTEGER ise NUMBER'dan türetilmemiştir; işlemci aritmetiğiyle çalışan, daha hızlı ve ayrı bir tam sayı tipidir.

PL/SQL'de NULL; deyimi hiçbir işlem yapmaz ve akışı bir sonraki ifadeye geçirir; örneğin IF bloğunun boş kalmaması için kullanılır. EXIT döngüden çıkar, RETURN alt programı sonlandırır, GOTO etiketli bir yere atlar.
PL/SQL'de değişken ve sabitler DECLARE bölümünde ve mutlaka bir veri tipiyle bildirilmelidir. Kodun herhangi bir satırında tanımlama yapılamaz, PL/SQL derlenen bir dildir ve hatalı kod hiç çalışmaz; ayrıca yalnızca Oracle veri tabanlarında yerleşik olarak bulunur.
PL/SQL'de ondalıklı bir sayı (ör. BINARY_DOUBLE) PLS_INTEGER gibi bir tam sayı tipine atandığında ondalık kısım atılmaz, sayı en yakın tam sayıya yuvarlanır. Örneğin 3.7 değeri 4 olur. Bu yüzden A şıkkı yanlıştır.
