Oracle PL/SQL
Oracle PL/SQL Yazımla Herkese Merhabalar Baştan Aşağıya PL/SQL’e Dair Her Şeyi Ele Almayı Planlıyorum Hadi Başlayalım..
PL/SQL Nedir ?
Procedural Language/Structured Query Language Yapılandırılmış Sorgu Diline Yönelik Prosedürel Dildir Oracle Veri Tabanı Sistemine Özel Bir Dildir Trigger, Procedurler, If Else Yapısı vs. Yazmak Üzere Geliştirilmiş Bir Dildir Hepsinin Ne Olduğunu Ne işe Yaradığını Örnekler Vererek Anlatacağım
PL/SQL Mimarisi
3 Temel Bileşenden Oluşur
PL/SQL BLOCK
PL/SQL ENGİNE
DATABASE SERVER
PL SQL ENGİNE
PL/SQL Kodlarını ve SQL Kodlarını En Başta Bir Birinden Ayırır
Ayrılan PL/SQL Kodlarını İşler
SQL Kodlarını ise Direkt Veri abanı Sunucusuna Gönderir
DATABASE SERVER
PL /SQL Depolayan, İşleyen Yapıdır
PL/SQL Kodlarını Database Server ‘e Etkileşim Kurmak İçin SQL Kullanır
Blok Yapısı
Declaration Section = Değişkenlerimizi Yazdığımız Kısım
Execution Section = Asıl PL SQL Kodlarımızı Yazdığımız Yer
Exception = Hata Bloklarının Yazıldığı Yer
Veri Türleri Ve Değişkenler
PL SQL İki Tür Veri Tipine Sahiptir Bunlar Skalar ve Bileşik Veri Türüdür Skalar Karakter Sayı Tarih Boolean Gibi Veri Türlerini Tutarken Bileşik ise Birden Fazla Veri Değeri Saklayan Veri Tipidir Record ,Koleksiyon Gibi..
TYPE DEGISKENI
%type Değişkeni Bir Tablodaki Sütunun Veri Tipini Almaya Yarar Into İle Tablodan Aldğımız Alanı Değişkenimize Gönderiyoruz
%rowtype ise tüm tabloyu ele alıyor
IF KULLANIMI
If İse Veri Üzerinde Şart Koşmamızı Sağlan Yapıdır Hemen Örneklendirelim
DONGULER KULLANIMI
Donguler Bir Veri İçersinde Dönmemizi Sağlar
EXIT WHEN / WHILE / FOR ILE SART BELİRLEYİP DÖNEBİLİRİZ
PROCEDUR KULLANIMI
Diğer Adıyla Depolanmış Prosedürler Yazdığınız SQL Komutlarını ,Tablolarınızı Prosedüre Atayarak İstediğiniz Zaman EXECUTE veya EXEC Komutu İle Çağırabilirsiniz
IN = PARAMETRE DISARIYA VERI GONDERMEZ
OUT = PARAMETRE DISARIYA VERI GONDERIR
IN OUT = YUKARIDA Kİ İKİ ÖZELLİĞİDE ALIR
Silmek İçinse DROP PROCEDURE procedure_name
Tüm Procedurleri Listelemek için SELECT * FROM SYS.all_procedures
FONKSIYON KULLANIMI
Procedur Gibi Tablo ,SQL Saklamaya Yarayan Ama Procedur den Çok Daha İşler Yapmaya Yaran İşlemler Blok’u Geriye Her Zaman Değer Döndürmesi Gerekmektedir..
CURSOR KULLANIMI
Diğer Adı İmleçler Gönderdiğimiz Sorguların Gelen Veri Üzerinde Satır Satır İşlem Yapmamıza Olanak Tanıyan Yapı Hemen Örnekler Üzerinden Aydınlatalım
EXCEPTION KULLANIMI
Hata Yönetimidir Komutlarımızın Çıktısında Verilen Hataları İşlemek İçin Kullanılır 2'ye Ayrılır Sistem Tanımlı ve Kullanıcı Tanımlı Olarak
Hemen Örnek Verelim
Eğer Hata Blogu Kullanmasaydık PL/SQL: ORA-00904: “CUSTOMERS_ID”: geçersiz belirleyici
ORA-06550: satır 6, sütun 1: Şeklinde ORA-CODE Ile Başlayan Hata Alırdık
Sistem Tanımlı Bazı Hatalar
KENDİ HATA BLOKLARIMIZI YAZMAK ISTERSEK
TRIGGER KULLANIMI
Diğer Adıyla Tetikçiler Bir İşlem Gerçekleştikten Sonra veya Önce Bir İşlem Yapmaya Yarayan Yapıdır Mesela Ürün Tablosuna Bir Ürün Ekledikten Sonra Stoklar Tablosunda Girilen Ürünün Stok Değerinin Artmasını İstiyorsanız Bunu Tetikleme Yardımıyla Yapabilirsiniz.
PAKET KULLANIMI
Paket Bir Biriyle Alakalı Function , Procedurun Bir Arada Bir Şema Altında Kullanmasıyla Oluşan Yapıdır 2 Bölümden Oluşur Spec ve Body
Spec Kısmında Function , Procedur ..vs Tanımlamaları ve Parameterleri Yazılır Body Kısmında ise Asıl Function , Procedur ..vs Komutları Yazılır ve Yazdığınız İşlemleri Ayrı Ayrı End ile KAPATMANIZ LAZIM
OOP NEDİR VE KULLANIMI
Object Oriented Programming Yani Nesne Yönelimli Programlama Demektir Bir Nesneyi Yazılıma Nasıl Aktarabiliriz İle İlgileniyor Aslında ve Bunları Classlar , Encapsulation Inheritance Polymorphism , Constructer … Yapılarıyla Aktarıyoruz ve Anlamlı Hale Getiriyoruz Oracle PLSQL ile Gerçek Dünyada ki Nesneleri Belirli Veri Yapısına Ve Bunları Çalıştırma Yöntemlerine Sahip Uygulamanıza Olanak Tanır.
Nesneler CREATE OR REPLACE TYPE ile Oluşturulur BODY Kısmında ise Asıl Kodlar Yazılır
Umarım Faydalı Olmuştur Bir Sonraki Yazımda Görüşmek Üzere Beğenmeyi Unutmayın :)