Wednesday, October 11, 2017

Perkenalan fungsi PL / SQL


Fungsi PL / SQL adalah blok bernama yang menghasilkan nilai. Fungsi PL / SQL juga dikenal sebagai subrutin atau subprogram. Untuk membuat fungsi PL / SQL, Kamu bisa menggunakan sintaks berikut:

CREATE [OR REPLACE] FUNCTION function_name [(
   parameter_1 [IN] [OUT] data_type,
   parameter_2 [IN] [OUT] data_type,
   parameter_N [IN] [OUT] data_type]
    RETURN return_data_type IS
--the declaration statements
BEGIN
   -- the executable statements
   return return_data_type;
   EXCEPTION
    -- the exception-handling statements
END;
/


Mari kita periksa sintaks untuk membuat fungsi secara lebih rinci:

Kamu harus menentukan nama fungsi function_name setelah kata kunci FUNCTION. Dengan konvensi, nama fungsi harus dimulai dengan kata kerja, misalnya convert_to_number.

Fungsi mungkin memiliki nol atau lebih dari satu parameter. kamu bisa menentukan nama parameter di parameter_1, parameter_2, dll. Kamu harus menentukan jenis data dari setiap parameter secara eksplisit di data_type. Setiap parameter memiliki satu dari tiga mode: IN, OUT dan IN OUT.

  • Parameter IN adalah parameter read-only. Jika fungsi mencoba mengubah nilai parameter IN, compiler akan mengeluarkan pesan kesalahan. kamu bisa melewati variabel konstanta, literal, inisialisasi, atau ekspresi ke fungsi sebagai parameter IN.
  • Parameter OUT adalah parameter write-only. Parameter OUT digunakan untuk mengembalikan nilai kembali ke program pemanggilan. Parameter OUT diinisialisasi ke nilai default dari jenisnya saat fungsi dimulai terlepas dari nilai awalnya sebelum diteruskan ke fungsi.
  • Parameter IN OUT adalah parameter baca dan tulis. Ini berarti fungsi tersebut membaca nilainya dari parameter IN OUT, mengubah nilainya dan mengembalikannya kembali ke program pemanggilan.

Fungsi harus memiliki setidaknya satu pernyataan RETURN di bagian eksekusi. Klausa RETURN pada header fungsi menentukan tipe data dari nilai yang dikembalikan.

Struktur blok fungsi mirip dengan blok anonim dengan bagian header fungsi tambahan.

Contoh Fungsi PL / SQL


Kita akan membuat sebuah fungsi bernama try_parse yang mem-parsing sebuah string dan mengembalikan sebuah angka jika input string adalah angka atau NULL jika tidak dapat dikonversi ke angka.

CREATE OR REPLACE FUNCTION try_parse(
    iv_number IN VARCHAR2)
  RETURN NUMBER IS
BEGIN
   RETURN to_number(iv_number);
   EXCEPTION
     WHEN others THEN
        RETURN NULL;
END;

iv_number adalah parameter IN yang tipe datanya adalah VARCHAR2 sehingga Anda bisa melewati string apapun ke fungsi try_parse ().

Di dalam fungsi tersebut, kami menggunakan fungsi PL / SQL bawaan yang bernama to_number () untuk mengubah string menjadi angka. Jika ada pengecualian terjadi, fungsi mengembalikan NULL di bagian pengecualian, jika tidak, ia mengembalikan sebuah angka.

Memanggil Fungsi PL / SQL


Fungsi PL / SQL mengembalikan sebuah nilai sehingga kamu dapat menggunakannya di sisi kanan sebuah tugas atau dalam sebuah pernyataan SELECT.

Mari buat blok anonim untuk menggunakan fungsi try_parse ().

SET SERVEROUTPUT ON SIZE 1000000;
DECLARE
  n_x number;
  n_y number;
   n_z number;
BEGIN
   n_x := try_parse('574');
   n_y := try_parse('12.21');
   n_z := try_parse('abcd');

   DBMS_OUTPUT.PUT_LINE(n_x);
   DBMS_OUTPUT.PUT_LINE(n_y);
   DBMS_OUTPUT.PUT_LINE(n_z);
END;
/

Kita juga bisa menggunakan fungsi try_parse () dalam sebuah pernyataan SELECT sebagai berikut:

SELECT try_parse('1234') FROM dual;

SELECT try_parse('Abc') FROM dual;

Perhatikan bahwa tabel ganda tabel satu baris khusus yang digunakan untuk memilih pseudo-column seperti contoh di atas.

Dalam tutorial ini, kamu telah belajar bagaimana mengembangkan fungsi PL / SQL kustom dan menyebutnya dalam blok anonim dan dalam statemen SELECT SQL.


 sumber referensi  : http://www.plsqltutorial.com

0 comments:

Post a Comment

Popular Posts