Oracle 11g PL/SQL- Continue əmri

Posted on 5 Aprel 2010. Filed under: Oracle, PL/SQL | Etiketlər: , , , |

Nəhayət ki, Oracle 11g versiyasında bir çox proqramlaşdırma dillərində olan CONTINUE əmri PL/SQL-ə də əlavə olundu.
CONTINUE əmri iterasiya blokunda müəyyən bir şərtə bağlı olaraq növbəti addıma keçid edir, ondan sonrakı sətirlər icra edilmir.

PL/SQL-də CONTINUE əmri 2 cür istifadə olunur
1. CONTINUE
2. CONTINUE WHEN

1-ci istifadə qaydasına aşağıdakı sadə nümunə üzərində baxaq.

begin
    for k in 1 .. 20 
    loop 
        if mod(k, 2)=0 then
            continue;
        end if;
        dbms_output.put_line(k);
    end loop;
end;

Verilmiş nümunədə for iterasiya bloku 1-dən 20-yə qədər sayır, if mod(k, 2)=0 şərti ilə k ədədinin cüt olub olmadığı yoxlanılır (MOD funksiyası bölmədən qalan qalığı verir, 2-yə bölünəndə qalığın 0-a bərabər olması ədədin cüt olduğunu göstərir).
Əgər şərt doğrudursa, CONTINUE əmri işləyir və növbəti addıma keçilir, şərt blokundan sonrakı sətirlər icra olunmur. Bu da o deməkdir ki, tək ədədlər üçün şərt səhv olur və dbms_output.put_line(k); kod sətri ilə həmin tək ədədlər output-a yazılır. Nəticədə 1-dən 20-yə qədər olan tək ədədlər yazılmış olur.

2-ci istifadə qaydasına aşağıdakı sadə nümunə üzərində baxaq.

begin
    for k in 1 .. 20 
    loop 
        continue when mod(k, 2)=0;
        dbms_output.put_line(k);
    end loop;
end;

Bu nümunədə 1-cidən fərqli olaraq şərt bloku yoxdur və həmin şərt when ilə bir başa continue əmri içərisində yoxlanılır. Nəticə olaraq hər 2 nümunə eyni işi görür, bir birinə ekvivalentdir.

Oracle 11g PL/SQL-dəki yeniliklər haqqında silsilə yazılar üçün bu səhifəyə keçin. https://raminorucov.wordpress.com/oracle-11g-plsql-yenilikleri

Advertisements
Tam Yazını Oxu | Make a Comment ( 2 so far )

    Haqqında

    Java ilə obyekt yönlü proqramlaşdırma, Java web proqramlaşdırma, Oracle SQL, PL/SQL proqramlaşdırma, optimallaşdırma

    RSS

    Subscribe Via RSS

    • Subscribe with Bloglines
    • Add your feed to Newsburst from CNET News.com
    • Subscribe in Google Reader
    • Add to My Yahoo!
    • Subscribe in NewsGator Online
    • The latest comments to all posts in RSS

    Meta

Liked it here?
Why not try sites on the blogroll...