• Banyak alasan untuk percaya masa depan akan lebih baik. Fight!

    Stored Function pada Database


    Perbedaannya dengan stored procedure adalah store function biasanya ditujukan untuk mengerjakan proses yang akan mengembalikan nilai. Stored function tidak dapat memroses ( berisi ) query data

    Seperti “select ………………”, kecuali dengan mekanisme cursor. Sedangkan untuk perintah delete dan update masih bisa.

    /*stored function mengambil data gaji karyawan berdasarkan jabatannya*/

    Delimiter$$
    drop function if exists gaji$$
    Create function gaji(jabatan char(1))
    returns int
    Begin

    If (lower(jabatan)=’a') then
    return 3000000;

    Elseif (lower(jabatan)=’b') then

    return 2000000;

    Elseif (lower(jabatan)=’c') then
    return 1000000;


    Else
    return 500000;

    End if;
    End$$
    Delimiter;

    Sekedar tambahan : function dapat dipanggil dari sebuah stored procedure ataupun dari dalam trigger.

    Catatan : di dalam stored function hanya diperbolehkan untuk melewatkan parameter input ( tanpa diawali clause “in” ).

    Implementasi type data enum dan set

    Delimiter$$
    drop function if exists keputusan$$
    Create function keputusan(opsi char(1))
    returns enum(‘pasti’,'tidak pasti’,'mungkin’)
    Begin

    If (lower(opsi)=’a') then
    return ‘pasti’;

    Elseif (lower(opsi)=’b') then
    return ‘tidak pasti’;

    Else
    return ‘mungkin’;

    End if;
    End$$
    Delimiter;

    Catatan : type data enum merupakan set data, perbedaannya dengan type set adalah type set mendukung untuk pemberian nilai ganda. Missal set datanya ‘pasti’,’tidak pasti’,’mungkin’ boleh untuk diset ketiga – tiganya pada sebuah variable set.

    Contoh:

    declare keputusan enum(‘pasti’,’tidak pasti’,’mungkin’);
    set keputusan=’pasti,tidak pasti’;
    Implementasi clause “case” … “end case”
    Delimiter$$

    drop function if exists doorprize$$

    Create function doorprize(status_pelanggan char(10), saldo float)

    returns char(12)

    Begin

    declare diskon float;
    CASE status_pelanggan

    WHEN ‘PLATINUM’ THEN

    Set diskon=0.1*saldo;

    WHEN ‘GOLD’ THEN
    Set diskon=0.05*saldo;

    WHEN ‘SILVER’ THEN
    Set diskon=0.02*saldo;

    WHEN ‘BRONZE’ THEN
    Set diskon=0.01*saldo;

    END CASE;
    Return format(diskon,2);

    End$$
    Delimiter;

    Catatan : fungsi format berguna untuk merubah pemisah ribuan pada nilai diskon dengan 2 digit decimal. Nilai yang dikembalikan berubah menjadi string.

    sumber : http://yora15.wordpress.com

    3 comments:

    1. How are u?? can u follow to my blog. please

      ReplyDelete
    2. @irvan : of course... i did it...

      ReplyDelete
    3. Great Article
      android based projects





      Java Training in Chennai

      Project Center in Chennai

      Java Training in Chennai

      projects for cse



      The Angular Training covers a wide range of topics including Components, Angular Directives, Angular Services, Pipes, security fundamentals, Routing, and Angular programmability. The new Angular TRaining will lay the foundation you need to specialise in Single Page Application developer. Angular Training Project Centers in Chennai



      Android Final Year Project Ideas for Computer Science. IEEE Android Projects for CSE 2020 - 2021 - WISEN
      http://projectcentersinchennai.co.in

      http://wisenitsolutions.com

      ReplyDelete

    Salam blogger...

     

    Blog Status

    Free Hit Counter
    HTML Counter
    free counters

    Followers