pl sql loop kullanımı etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
pl sql loop kullanımı etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Merhaba,

Bu yazıda PL/SQL'de koşul kontrollerinin nasıl yapıldığını anlatmaya çalışacağım.


IF THEN ELSE KULLANIMI

Bu kullanımda sadece tek bir koşula girebilir. Sıra ile koşulları kontrol eder.

SET SERVEROUTPUT ON
DECLARE
  l_gun VARCHAR2(10);
BEGIN
  l_gun := TRIM(TO_CHAR(SYSDATE,'DAY'));

  IF l_gun IN ('SATURDAY', 'SUNDAY') THEN
    DBMS_OUTPUT.PUT_LINE('Haftasonu');
  ELSIF l_gun = 'MONDAY' THEN
    DBMS_OUTPUT.PUT_LINE('Haftabaşı');
  ELSE
     DBMS_OUTPUT.PUT_LINE('Haftaiçi');
  END IF;
END;
/

CASE KULLANIMI

SET SERVEROUTPUT ON
DECLARE
   l_gun VARCHAR2(10);
BEGIN
   l_gun := TRIM(TO_CHAR(SYSDATE,'DAY'));
   
   CASE l_gun
   WHEN 'SATURDAY' THEN
     DBMS_OUTPUT.PUT_LINE('Haftasonu');
   WHEN 'SUNDAY' THEN
     DBMS_OUTPUT.PUT_LINE('Haftasonu');
   WHEN 'MONDAY' THEN
     DBMS_OUTPUT.PUT_LINE('Haftabaşı');
   ELSE
     DBMS_OUTPUT.PUT_LINE('Haftaiçi');
   END CASE;

END;
/

LOOP KULLANIMI

 LOOP kullanılırken EXIT yazılmazda sonsuz döngüye girecektir.

SET SERVEROUTPUT ON
DECLARE
  i NUMBER := 1;
BEGIN
  LOOP 
     EXIT WHEN i>5;
    DBMS_OUTPUT.PUT_LINE('i:'||i);
     i := i+1;
  END LOOP;
END;
/

WHILE LOOP KULLANIMI

SET SERVEROUTPUT ON
DECLARE
   i NUMBER := 1;
BEGIN
    WHILE i<=5 LOOP 
       DBMS_OUTPUT.PUT_LINE('i:'||i);
       i := i+1;
     END LOOP;
END;
/

GOTO KULLANIMI

SET SERVEROUTPUT ON
DECLARE
   i NUMBER := 1;
BEGIN
   LOOP 
       IF i>5 THEN 
           GOTO looptan_cik;
       END IF;
       DBMS_OUTPUT.PUT_LINE('i:'||i);
       i := i+1;
    END LOOP;
    <<looptan_cik>>
    NULL;
END;
/

Faydalı olması dileğiyle,


Alıntıdır

PL/SQL'de Koşul Kontrolü Nasıl Yapılır? IF, LOOP, WHILE , GOTO Kullanımı