Kayıtlar

sql etiketine sahip yayınlar gösteriliyor

PL/SQL Ders16 - Trigger

Resim
   Trigger aha önce belirtilmiş bir olay meydana geldiğinde tetiklenen birimdir. Trigger veritabanında saklanır ve belirtilmiş bir koşul meydana geldiğinde tetiklenir. Trigger aşağıdaki olaylar meydana geldiğinde tetiklenebilir. Veritabanı manipulation (DML) : DELETE, INSERT, UPDATE. Veritabanı definiyion (DDL) : CREATE, ALTER, DROP. Veritabanı operation : SERVERERROR, LOGON, LOGOFF, STARTUP, SHUTDOWN. CREATE OR REPLACE TRIGGER triggerIsmi; BEFORE , AFTER veya INSTEAD OF INSERT , UPDATE veya DELETE OF kolonIsmi ON tabloIsmi FOR EACH ROW WHEN kosul DECLARE .. BEGIN .. END ; CREATE OR RAPLACE :  trigger tanımlamayı veya varolan bir triggerı güncellemeyi sağlar. BEFORE, AFTER veya INSTEAD OF :  Trigggerın ne zaman çalıştırılacağını belirtir. INSERT, UPDATE veya DELETE :  DML operasyonları OF :  Güncellenecek kolon ismini belirtir. ON :  Güncellenecek tabloyu belirtir. OLD AS, NEW AS :  Çeşitli DML ifadeleri için yeni ve eski değerleri atamanızı sağ

PL/SQL Ders15 - Exception

Resim
   PL/SQL'de 2 tip exception (istisna) vardır. Bunlar Sistem tabanlı exception Kullanıcı tabanlı exception DECLARE .... BEGIN .... EXCEPTION WHEN ..... THEN .......... WHEN ..... THEN .......... END; Worksheet15.sql DECLARE p_id test_personel . id%TYPE; BEGIN SELECT id INTO p_id FROM test_personel WHERE ad = 'enes22' ; DBMS_OUTPUT . put_line (p_id); EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_OUTPUT . put_line ( 'veri bulunamadi..' ); WHEN OTHERS THEN DBMS_OUTPUT . put_line ( 'bir hata var..' ); END ; Raising Exceptions (Kullanıcı Tabanlı) Istisnalar veri tabanında dahili bir hata meydana geldiğinde otomatik olarak oluşturulur. Fakat programcı tarafından RAISE komutuyla da explicit (açık) bir şekilde istisna tanımlanabilir. Bir istisna tanımlamasını ve o istisnanın meydana gelmesi durumda yapılacakları gösteren genel kod bloğu aşğıdaki gibidir.

PL/SQL Ders14 - Cursor

Resim
   SQL ifadesi işlendiğinde Oracle context area denilen bir bellek bölgesi oluşturur. Bir cursor işte bu bellek bölgesine işaret eder. Cursor ifadenin işlenmesi için gerekli tüm bilgileri içerir. PL/SQL'de context area, cursor tarafından kontrol edilir. Cursor veri satırlarını ve select ifadeleri üzerindeki bilgileri içerir. Bir cursor SQL ifadeleri ile döndürülen saturları işlemek , fetch etmek (getirmek) için kullanılır. İki tip cursor vardır. Implicit Cursor (örtülü) Explicit Cursor (açık) Implicit Cursor (örtülü) Implicit Cursor (örtülü) Oracle tarafından  SQL ifade çalıştırıldığında eğer explicit cursor (açık) kullanılmıyorsa otomatik olarak oluşturulur. INSERT, UPDATE, DELETE gibi DML ifadeleri çalıştırıldığında Oracle tarafından oluşturulan attributeler şunlardır. %FOUND : Eğer DML ifadelerinden oluşturulan komutlardan etkilenen bir satır varsa veya select ifadelerinden oluşturulan komutlardan geriye dönen en az bir satır varsa geriye true dönd

PL/SQL Ders13 - Function

Resim
   PL/SQL'de fonksiyonlar (function) prosedürlere (procedure) çok benzemektedir. Fonksiyonlar da bir veya daha fazla görevi icra edecek yapılar olarak tanımlanabilir. Fonksiyonlar ile prosedürler arasındaki fark ise fonksiyonlar her zaman geriye bir değer döndürmek zorundadır. Prosedürlerde ise bu zorunluluk yoktur. Function oluşturma CREATE FUNCTION  "functionIsmi"  (varsa parametreler,..) RETURN donusTipi; IS declaration kısmı BEGIN execution kısmı RETURN deger; END; CREATE  yerine  REPLACE  anahtar kelimesi ile var olan bir function güncellenebilir. Function silme DROP  FUNCTION   procedureIsmi; Function13.sql CREATE OR REPLACE FUNCTION dortgen (satir IN INT, sutun IN INT) RETURN INT IS yildizSayisi INT; BEGIN FOR i IN 1 .. satir LOOP FOR j IN 1 .. sutun LOOP dbms_output . put( '*' ); END LOOP ; dbms_output . put( ' ' ||chr( 10 )); END LOOP ;

PL/SQL Ders12 - Procedure

Resim
   PL/SQL'de bir veya daha fazla görevi icra edecek yapılara procedure denir. Procedure header ve body olmak üzere iki kısımdan meydana gelir. Header kısmında procedure ismi, procedure parametreleri bulunur. Body kısmında genel PL/SQL bloklarına benzer olarak declaratin kısmı, execution kısmı ve exception handling kısmı bulunur. Yani yapılacak iş burada belirtilir. Bir procedure oluşturmak isterseniz bu procedure geçirilecek parametreleri tanımlamak zorundasınızdır. Bir procedurede 3 tip parametre bulunur. IN parametreleri procedure tarafından işleme sokulacak parametrelerdir. Procedure dışında kullanılamaz. OUT parametreleri  procedure tarafından işlem sonucundan elde edilecek parametrelerdir. Procedure dışında kullanılabilir. INOUT parametreleri  procedure tarafından işleme sokulup değeri değişebilecek parametrelerdir. Procedure dışında kullanılabilir. Procedure oluşturma CREATE PROCEDURE "procedureIsmi" (varsa parametreler,..) IS declaratio