Wednesday, October 25, 2017

Pengantar Pernyataan LOOP PL / SQL


Pernyataan PL / SQL LOOP adalah pernyataan kontrol iteratif yang memungkinkan kamu untuk menjalankan urutan pernyataan berulang kali seperti WHILE dan FOR loop.

Bentuk paling sederhana dari pernyataan LOOP terdiri dari kata kunci LOOP, urutan pernyataan dan kata kunci END LOOP seperti gambar di bawah ini:

LOOP
   sequence_of_statements;
END LOOP;
Perhatikan bahwa setidaknya harus ada satu pernyataan eksekusi antara LOOP dan END LOOP kata kunci. Urutan pernyataan dieksekusi berulang kali sampai mencapai exit loop. PL / SQL memberikan pernyataan EXIT dan EXIT-WHEN untuk memungkinkan kamu menghentikan sebuah loop.

  • EXIT memaksa loop menghentikan eksekusi tanpa syarat dan melewati kontrol ke pernyataan berikutnya setelah pernyataan LOOP. Anda biasanya menggunakan pernyataan EXIT dengan pernyataan IF.

  • Pernyataan EXIT-WHEN memungkinkan loop untuk mengakhiri kondisional. Saat pernyataan EXIT-WHEN tercapai, kondisi klausa WHEN dicentang. Jika kondisi dievaluasi TRUE, loop diakhiri dan kontrol dilewatkan ke pernyataan berikutnya setelah kata kunci END LOOP.Jika kondisi dievaluasi ke FALSE, loop akan berlanjut berulang-ulang sampai kondisi dievaluasi TRUE. Oleh karena itu, jika kamu tidak ingin memiliki lingkaran tak terbatas, kamu harus melakukan sesuatu di dalam lingkaran agar kondisinya menjadi TRUE

Berikut ini menggambarkan pernyataan PL / SQL LOOP dengan EXIT dan EXIT-WHEN statements:
LOOP
   ...
   EXIT;
END LOOP;

LOOP
   ...
   EXIT WHEN condition;
END LOOP;

Contoh pernyataan PL / SQL LOOP

Contoh PL / SQL LOOP dengan EXIT Statement


Dalam contoh ini, kita mendeklarasikan sebuah counter. Di dalam lingkaran, kita menambahkan 1 ke meja dan menampilkannya. Jika nilai konter sama dengan 5, kita menggunakan statemen EXIT untuk mengakhiri loop.

Berikut ini adalah contoh penggunaan pernyataan PL / SQL LOOP dengan EXIT:

SET SERVEROUTPUT ON SIZE 1000000;
DECLARE n_counter NUMBER := 0;
BEGIN
  LOOP
    n_counter := n_counter + 1;
    DBMS_OUTPUT.PUT_LINE(n_counter);
    IF n_counter = 5 THEN
      EXIT;
    END IF;
  END LOOP;
END;
/

 

Contoh PL / SQL LOOP dengan EXIT-WHEN Statement


Kita akan menggunakan contoh counter yang sama di atas. Namun, alih-alih menggunakan pernyataan IF-THEN dan EXIT, kita menggunakan EXIT-WHEN untuk mengakhiri loop. Contoh kode terdaftar sebagai berikut:

SET SERVEROUTPUT ON SIZE 1000000;
DECLARE n_counter NUMBER := 0;
BEGIN
  LOOP
    n_counter := n_counter + 1;
    DBMS_OUTPUT.PUT_LINE(n_counter);
    EXIT WHEN n_counter = 5;
  END LOOP;
END;
/
Seperti yang kamu lihat dalam dua contoh di atas, EXIT dan EXIT-WHEN dapat digunakan secara bergantian. Pernyataan EXIT berjalan bersamaan dengan pernyataan IF-THEN setara dengan pernyataan EXIT-WHEN.

Label Loop


Sebuah loop dapat memiliki label opsional yang merupakan pengenal yang tidak dideklarasikan yang dilampirkan dengan tanda kurung siku sudut << label >>. Label loop muncul di awal dan juga di akhir pernyataan PL / SQL LOOP. Label loop digunakan untuk memenuhi syarat nama variabel counter loop saat sebuah lingkaran disarangkan di dalam lingkaran lain.

Berikut ini menggambarkan sintaks pernyataan loop PL / SQL dengan label:

<<label>>
LOOP
   sequence_of_statements;
END LOOP label;
Contoh berikut menggunakan label loop dengan nested loop:

SET SERVEROUTPUT ON SIZE 1000000;
DECLARE
  n_i NUMBER := 0;
  n_j NUMBER := 0;
BEGIN
  << outer_loop >>
  LOOP
    n_i := n_i + 1;
    EXIT WHEN n_i = 2;
    << inner_loop >>
    LOOP
      n_j := n_j + 1;
      EXIT WHEN n_j = 5;
      DBMS_OUTPUT.PUT_LINE('Outer loop counter ' || n_i);
      DBMS_OUTPUT.PUT_LINE('Inner loop counter ' || n_j);
    END LOOP inner_loop;
  END LOOP outer_loop;
END;
/

PL / SQL LOOP Pernyataan


Dalam tutorial ini, kamu telah belajar bagaimana menggunakan PL / SQL LOOP bersamaan dengan EXIT dan EXIT-WHEN statements untuk membuat pernyataan iteratif di PL / SQL untuk menjalankan serangkaian pernyataan berulang kali.



sumber gambar dan artikel asli : http://www.plsqltutorial.com

Tuesday, October 24, 2017

Pengantar  CASE Statement  PL / SQL


Pernyataan CASE  PL / SQL memungkinkan kamu untuk melakukan serangkaian pernyataan berdasarkan pemilih. Seorang pemilih dapat berupa sesuatu seperti variabel, fungsi, atau ekspresi yang ditunjukkan oleh pernyataan CASE terhadap nilai Boolean.

kamu dapat menggunakan hampir semua jenis data PL / SQL sebagai pemilih kecuali tipe BLOB, BFILE dan komposit.

Berbeda dengan pernyataan PL / SQL IF, pernyataan CASE PL / SQL menggunakan pemilih daripada menggunakan kombinasi beberapa ekspresi Boolean.

Berikut ini menggambarkan sintaks pernyataan PL / SQL CASE:

[<<label_name>>]
CASE [TRUE | selector]
   WHEN expression1 THEN
    sequence_of_statements1;
   WHEN expression2 THEN
    sequence_of_statements2;
   ...
   WHEN expressionN THEN
    sequence_of_statementsN;
  [ELSE sequence_of_statementsN+1;]
END CASE [label_name];

Diikuti dengan kata kunci CASE adalah selector. Pernyataan CASE  PL / SQL mengevaluasi pemilih hanya sekali untuk menentukan urutan pernyataan yang akan dijalankan.

Diikuti oleh pemilih adalah sejumlah klausa WHEN. Jika nilai pemilih sama dengan expression dalam klausa WHEN, urutan pernyataan yang sesuai setelah kata kunci THEN dijalankan.

Jika nilai pemilih bukan salah satu pilihan yang tercakup dalam klausa WHEN, urutan pernyataan dalam klausa ELSE akan dieksekusi. Klausa ELSE bersifat opsional jadi jika kamu menghilangkannya. PL / SQL akan menambahkan klausa ELSE implisit berikut ini:

ELSE RAISE CASE_NOT_FOUND;
Jika kamu menggunakan klausa ELSE implisit dalam pernyataan CASE PL / SQL, pengecualian CASE_NOT_FOUND dinaikkan dan dapat ditangani di bagian penanganan pengecualian blok PL / SQL seperti biasa.

Klausa END CASE digunakan untuk mengakhiri pernyataan CASE.

Contoh Menggunakan Pernyataan CASE PL / SQL

Contoh berikut menunjukkan pernyataan CASE PL / SQL. Kami akan menggunakan tabel karyawan dalam data sampel SDM yang disediakan oleh Oracle untuk demonstrasi. 

SET SERVEROUTPUT ON SIZE 1000000;
DECLARE
  n_pct    employees.commission_pct%TYPE;
  v_eval   varchar2(10);
  n_emp_id employees.employee_id%TYPE := 145;
BEGIN
  -- get commission percentage
  SELECT commission_pct
  INTO n_pct
  FROM employees
  WHERE employee_id = n_emp_id;

  -- evalutate commission percentage
  CASE n_pct
    WHEN 0 THEN
      v_eval := 'N/A';
    WHEN 0.1 THEN
      v_eval := 'Low';
    WHEN 0.4 THEN
      v_eval := 'High';
    ELSE
      v_eval := 'Fair';
  END CASE;
  -- print commission evaluation
  DBMS_OUTPUT.PUT_LINE('Employee ' || n_emp_id ||
                       ' commission ' || TO_CHAR(n_pct) ||
                       ' which is '   || v_eval);
END;
/



PL / SQL searched CASE statement

PL / SQL memberikan pernyataan KASUS khusus yang disebut digeledah pernyataan CASE. Sintaks dari pernyataan CASE PL / SQL yang dicari adalah sebagai berikut:

[<<label_name>>]
CASE
   WHEN search_condition_1 THEN sequence_of_statements_1;
   WHEN search_condition_2 THEN sequence_of_statements_2;
   ...
   WHEN search_condition_N THEN sequence_of_statements_N;
  [ELSE sequence_of_statements_N+1;]
END CASE [label_name];


Laporan CASE yang dicari tidak memiliki pemilih. Setiap klausa WHEN dalam laporan CASE yang dicari berisi kondisi pencarian yang mengembalikan nilai Boolean.


Kondisi pencarian dievaluasi secara berurutan dari atas ke bawah. Jika kondisi pencarian dievaluasi ke TRUE, urutan pernyataan dalam klausa WHEN yang sesuai dijalankan dan kontrol dilewatkan ke pernyataan berikutnya, oleh karena itu, kondisi pencarian berikutnya diabaikan.


Jika tidak ada kondisi pencarian yang dievaluasi ke TRUE, urutan pernyataan dalam klausa ELSE akan dieksekusi.


Berikut ini adalah contoh penggunaan pernyataan 


SET SERVEROUTPUT ON SIZE 1000000;
DECLARE
  n_salary EMPLOYEES.SALARY%TYPE;
  n_emp_id EMPLOYEES.EMPLOYEE_ID%TYPE := 200;
  v_msg    VARCHAR(20);
BEGIN
  SELECT salary
  INTO n_salary
  FROM employees
  WHERE employee_id = n_emp_id;

  CASE
    WHEN n_salary < 2000 THEN
      v_msg := 'Low';
    WHEN n_salary >= 2000 and n_salary <=3000 THEN
      v_msg := 'Fair';
    WHEN n_salary >= 3000 THEN
      v_msg := 'High';
  END CASE;
  DBMS_OUTPUT.PUT_LINE(v_msg);
END;
/


Dalam tutorial ini, Kita telah belajar bagaimana menggunakan pernyataan CASE PL / SQL dan mencari CASE untuk melakukan serangkaian pernyataan berdasarkan kondisi.





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

Tuesday, October 17, 2017

PL/SQL Setting Up a Development Environment



Dalam tutorial ini, kita akan melakukan langkah demi langkah bagaimana mendownload dan menginstal Oracle Database untuk belajar dan berlatih pemrograman PL / SQL di sistem operasi .

Download dan instal Oracle Database


Pertama, kamu perlu pergi ke situs web Oracle dan mendownload Database Oracle. Kami akan mendownload Oracle Database 11g Release 2 di Microsoft Windows (x64).

Kedua, unzip file yang didownload ke dalam folder mis., C: \ setup \ Oracle sebagai berikut:


Ketiga, klik dua kali file setup.exe untuk mulai menginstal database Oracle. kamu harus mengikuti langkah-langkah seperti yang dijelaskan pada bagian berikut:

Langkah 1.


Pada langkah ini, kamu boleh mengisi alamat email untuk mendapatkan informasi terbaru tentang masalah keamanan dari Oracle.

PL / SQL instalasi Oracle Database langkah 1

Langkah 2.


Ada tiga pilihan pada langkah ini seperti yang ditunjukkan pada screenshot. Pilih yang pertama untuk membuat dan mengkonfigurasi database dan klik tombol Next.

PL / SQL instalasi Oracle Database langkah oracle 2

Langkah 3.


Jika Anda menginstal database Oracle di laptop atau desktop Anda, pilih opsi pertama, jika tidak, pilih yang kedua dan klik tombol Next.

PL / SQL instalasi Oracle Database


Langkah 4.


Langkah ini memungkinkan kamu memasukkan folder instalasi database lengkap. kamu dapat mengubah folder dasar Oracle mis., C: \ app \ zentut, folder lain diubah sesuai dengan itu. Setelah itu klik tombol Next untuk menuju ke langkah selanjutnya.

PL / SQL instalasi Oracle Database

Langkah 5.


Pada langkah ini, Oracle akan melakukan pemeriksaan prasyarat sebelum menginstal komponen database Oracle.

PL / SQL instalasi Oracle Database

Langkah 6.

PL / SQL instalasi Oracle Database

Langkah ini menunjukkan informasi ringkasan dari langkah-langkah sebelumnya. Klik tombol finish untuk mulai menginstal database Oracle.

Langkah 7.


Langkah ini menyalin file ke folder yang sesuai dan menginstal komponen dan layanan Oracle. Butuh beberapa menit untuk menyelesaikannya jadi mohon bersabar.


PL / SQL instalasi Oracle Database


Setelah selesai, installer menampilkan dialog Asisten Konfigurasi Database, klik tombol Manajemen Kata Sandi ... untuk menyiapkan kata sandi untuk pengguna yang berbeda.

Kita perlu membuka pengguna SYS, SYSTEM dan HR dan mengatur kata kunci yang sesuai.
instal langkah oracle 7 - DB config assistant

PL / SQL instalasi Oracle Database


instal langkah oracle 7 - DB config assistant - SYS users

PL / SQL instalasi Oracle Database

instal langkah oracle 7 - DB config assistant - HR user

PL / SQL instalasi Oracle Database

Langkah 8.


Setelah proses instalasi selesai, kamu bisa mengklik tombol untuk menutup installer.


PL / SQL instalasi Oracle Database

Verifikasi pemasangan

Jika semuanya baik-baik saja, kamu akan melihat folder Oracle sebagai berikut:
Folder Oracle
PL / SQL instalasi Oracle Database


Pertama, luncurkan SQL Plus yaitu tool antarmuka command line yang bisa kamu gunakan untuk berinteraksi dengan database Oracle.

Kedua, masukkan username dan password yang telah kamu tetapkan dalam proses instalasi. kita masukkan user HR dan password yang sesuai.

SQL plus
PL / SQL instalasi Oracle Database


Ketiga, masukkan pernyataan berikut:

SELECT * FROM dual;

Jika kamu melihat hasilnya seperti yang ditunjukkan pada screenshot berikut, ini berarti kamu telah menginstal database Oracle dengan sukses dan mulai belajar pemrograman PL / SQL.

Pilih dari tabel ganda


Dalam tutorial ini,kita telah pelajarilangkah demi langkah bagaimana menginstal database Oracle dan memverifikasi instalasi menggunakan SQL Plus. Kami harap kamu mendapatkan segalanya dengan benar pada saat pertama. Jika tidak demikian, tinjau setiap langkah sekali lagi dan buat koreksi yang sesuai jika perlu.


sumber gambar dan artikel asli :http://www.plsqltutorial.com

Friday, October 13, 2017

Pengantar PL / SQL IF Statement


Pernyataan SQL PL / SQL memungkinkan kamu untuk menjalankan urutan pernyataan secara kondisional. Pernyataan IF mengevaluasi suatu kondisi.

Kondisinya bisa menjadi sesuatu yang mengevaluasi nilai logis dari true atau false seperti perbandingan ekspresi atau kombinasi dari beberapa ekspresi perbandingan. kamu dapat membandingkan dua variabel jenis yang sama atau tipe convertible. Kamu bisa membandingkan dua literal. Selain itu, variabel Boolean dapat digunakan sebagai suatu kondisi.

Pernyataan PL / SQL IF memiliki tiga bentuk: IF-THEN, IF-THEN-ELSE dan IF-THEN-ELSIF.

Pernyataan PL / SQL IF-THEN


Berikut ini menggambarkan pernyataan IF-THEN:

IF condition THEN
   sequence_of_statements;
END IF;

Ini adalah bentuk pernyataan IF yang paling sederhana. Jika kondisi dievaluasi benar, urutan pernyataan akan dijalankan. Jika kondisinya salah atau NULL, pernyataan IF tidak melakukan apa-apa. Perhatikan bahwa END IF digunakan untuk menutup pernyataan IF, bukan ENDIF.

Contoh berikut menunjukkan pernyataan PL / SQL IF. Ini memperbarui gaji karyawan sampai tingkat menengah jika gaji karyawan lebih rendah daripada mid-range.

DECLARE
  n_min_salary NUMBER(6,0);
  n_max_salary NUMBER(6,0);
  n_mid_salary NUMBER(6,2);
  n_salary     EMPLOYEES.SALARY%TYPE;
  n_emp_id     EMPLOYEES.EMPLOYEE_ID%TYPE := 200;
BEGIN
  -- get salary range of the employee
  -- based on job
  SELECT min_salary,
         max_salary
  INTO n_min_salary,
       n_max_salary
  FROM JOBS
  WHERE JOB_ID = (SELECT JOB_ID
                 FROM EMPLOYEES
                 WHERE EMPLOYEE_ID = n_emp_id);

  -- calculate mid-range
  n_mid_salary := (n_min_salary + n_max_salary) / 2;
  -- get salary of the given employee
  SELECT salary
  INTO n_salary
  FROM employees
  WHERE employee_id = n_emp_id;

  -- update employee's salary if it is lower than
  -- the mid range
  IF n_salary < n_mid_salary THEN
    UPDATE employees
    SET salary = n_mid_salary
    WHERE employee_id = n_emp_id;
  END IF;
END;

Pernyataan PL / SQL IF-THEN-ELSE


Ini adalah bentuk pernyataan IF yang kedua. Klausa ELSE ditambahkan dengan urutan pernyataan alternatif. Berikut adalah sintaks dari pernyataan IF-ELSE.

IF condition THEN
   sequence_of_if_statements;
ELSE
   sequence_of_else_statements;
END IF;
Jika kondisinya NULL atau false, urutan pernyataan lain akan dieksekusi.

Misalkan kamu ingin menaikkan gaji untuk seorang karyawan ke mid-range jika gaji saat ini lebih rendah dari pada mid-range pekerjaan jika tidak, tingkatkan sebesar 5%. Dalam kasus ini, Anda bisa mengganti kode di atas dengan menggunakan pernyataan PL / SQL IF-THEN-ELSE sebagai berikut:

  -- update employee's salary if it is lower than
  -- the mid range, otherwise increase 5%
  IF n_salary < n_mid_salary THEN
    UPDATE employees
    SET salary = n_mid_salary
    WHERE employee_id = n_emp_id;
  ELSE
    UPDATE employees
    SET salary = salary + salary * 5 /100
    WHERE employee_id = n_emp_id;
  END IF;

Pernyataan PL / SQL IF-THEN-ELSIF


PL / SQL mendukung pernyataan IF-THEN-ELSIF untuk memungkinkanmu mengeksekusi urutan pernyataan berdasarkan beberapa kondisi.

Sintaks PL / SQL IF-THEN-ELSIF adalah sebagai berikut:

IF condition1  THEN
   sequence_of_statements1
ELSIF condition2 THEN
   sequence_of_statements2
ELSE
   sequence_of_statements3
END IF;

Perhatikan bahwa pernyataan IF dapat memiliki sejumlah klausa ELSIF. Jika kondisi pertama salah atau NULL, kondisi kedua di ELSIF diperiksa dan seterusnya. Jika semua kondisi NULL atau false, urutan pernyataan dalam klausa ELSE akan dijalankan.

Perhatikan bahwa klausa ELSE terakhir bersifat opsional, jadi jika bisa menghilangkannya. Jika kondisi dari atas ke bawah benar, urutan pernyataan yang sesuai akan dijalankan.

Contoh berikut menggambarkan pernyataan PL / SQL IF-THEN-ELSIF untuk mencetak pesan yang sesuai saat gaji karyawan lebih tinggi daripada mid-range, lebih rendah dari mid-range atau sama dengan mid-range.

DECLARE
  n_min_salary NUMBER(6,0);
  n_max_salary NUMBER(6,0);
  n_mid_salary NUMBER(6,2);
  n_salary     EMPLOYEES.SALARY%TYPE;
  n_emp_id     EMPLOYEES.EMPLOYEE_ID%TYPE := 200;
BEGIN
  -- get salary range of the employee
  -- based on job
  SELECT min_salary,
         max_salary
  INTO n_min_salary,
       n_max_salary
  FROM JOBS
  WHERE JOB_ID = (SELECT JOB_ID
                 FROM EMPLOYEES
                 WHERE EMPLOYEE_ID = n_emp_id);

  -- calculate mid-range
  n_mid_salary := (n_min_salary + n_max_salary) / 2;
  -- get salary of the given employee
  SELECT salary
  INTO n_salary
  FROM employees
  WHERE employee_id = n_emp_id;

  -- update employee's salary if it is lower than
  -- the mid range, otherwise increase 5%
  IF n_salary > n_mid_salary THEN
    DBMS_OUTPUT.PUT_LINE('Employee ' || TO_CHAR(n_emp_id) ||
                         ' has salary $' || TO_CHAR(n_salary) ||
                         ' higher than mid-range $' || TO_CHAR(n_mid_salary));
  ELSIF n_salary < n_mid_salary THEN
    DBMS_OUTPUT.PUT_LINE('Employee ' || TO_CHAR(n_emp_id) ||
                         ' has salary $' || TO_CHAR(n_salary) ||
                         ' lower than mid-range $' || TO_CHAR(n_mid_salary));

  ELSE
    DBMS_OUTPUT.PUT_LINE('Employee ' || TO_CHAR(n_emp_id) ||
                         ' has salary $' || TO_CHAR(n_salary) ||
                         ' equal to mid-range $' || TO_CHAR(n_mid_salary));
  END IF;
END;

Pada tutorial ini, kamu telah belajar bagaimana menggunakan berbagai bentuk pernyataan PL / SQL IF termasuk pernyataan IF-THEN IF-THEN-ELSE dan IF-THEN-ELSIF.


sumber dan artikel asli : http://www.plsqltutorial.com/

Thursday, October 12, 2017

Pengantar Prosedur PL / SQL


Seperti fungsi PL / SQL, prosedur PL / SQL adalah blok bernama yang melakukan tugas tertentu. Prosedur PL / SQL memungkinkan kamu mengenkapsulasi logika bisnis yang kompleks dan menggunakannya kembali di lapisan database dan lapisan aplikasi.

Berikut ini menggambarkan sintaks prosedur PL / SQL:

PROCEDURE [schema.]name[( parameter[, parameter...] ) ]
[AUTHID DEFINER | CURRENT_USER]
IS
[--declarations  statements]
BEGIN
--executable statements
[ EXCEPTION
---exception handlers]
END [name];

Mari kita periksa sintaks PL / SQL secara lebih rinci. Kita bisa membagi prosedur PL / SQL menjadi dua bagian: header dan body.


PL / SQL Procedure Header

Bagian sebelum kata kunci IS disebut perintah prosedur header atau prosedur. Elemen dalam header prosedur dijelaskan sebagai berikut:

  • Schema:  nama skema opsional yang menjadi prosedurnya. Defaultnya adalah pengguna saat ini. Jika kamu menentukan pengguna yang berbeda, pengguna saat ini harus memiliki hak istimewa untuk membuat prosedur dalam skema itu.
  • Name:  nama prosedur Nama prosedur, menurut konvensi, harus dimulai dengan kata kerja mis., Put_line
  • Parameters:  daftar parameter pilihan Silakan lihat fungsi PL / SQL untuk informasi lebih lanjut tentang parameter dengan mode yang berbeda IN, OUT dan IN OUT.
  • AUTHID:   AUHTID opsional menentukan apakah prosedur akan dijalankan dengan hak istimewa pemilik (DEFINER) dari prosedur atau dengan hak istimewa pengguna saat ini yang ditentukan oleh CURRENT_USER.

PL / SQL Procedure Body

Semuanya setelah kata kunci IS dikenal sebagai procedure body. Badan prosedur memiliki sintaks yang sama dengan blok anonim yang terdiri dari bagian deklarasi, eksekusi dan pengecualian.

Bagian deklarasi dan pengecualian bersifat opsional. Kamu harus memiliki setidaknya satu pernyataan yang dapat dieksekusi di bagian eksekusi. Bagian eksekusi adalah di mana kamu meletakkan kode untuk menerapkan logika bisnis tertentu untuk melakukan tugas tertentu.

Dalam PL / SQL prosedur  dapat memiliki pernyataan RETURN. Namun, tidak seperti pernyataan RETURN pada fungsi yang mengembalikan nilai pada program panggilan, pernyataan RETURN dalam prosedur hanya digunakan untuk menghentikan eksekusi prosedur dan kontrol kembali ke pemanggil.

Pernyataan RETURN dalam prosedur tidak mengambil ekspresi atau konstan.

Contoh Prosedur PL / SQL


Kita akan membuat sebuah prosedur bernama adjust_salary () dalam database sampel SDM yang disediakan oleh Oracle. Kita akan mengupdate informasi gaji pegawai di meja karyawan dengan menggunakan statemen SQL UPDATE.

Berikut ini adalah kode sumber dari prosedur adjust_salary ():

 CREATE OR REPLACE PROCEDURE adjust_salary(
    in_employee_id IN EMPLOYEES.EMPLOYEE_ID%TYPE,
    in_percent IN NUMBER
) IS
BEGIN
   -- update employee's salary
   UPDATE employees
   SET salary = salary + salary * in_percent / 100
   WHERE employee_id = in_employee_id;
END;


Bagaimana cara kerjanya

  • Prosedur ini memiliki dua parameter: IN_EMPLOYEE_ID dan IN_PERCENT.
  • Prosedur ini menyesuaikan gaji karyawan tertentu yang ditentukan IN_EMPLOYEE_ID dengan persentase IN_PERCENT tertentu.
  • Di bagian prosedur, kami menggunakan pernyataan UPDATE untuk memperbarui informasi gaji.

Mari kita lihat bagaimana memanggil prosedur ini dalam berbagai konteks.

Memanggil Prosedur PL / SQL


Prosedur dapat memanggil prosedur lain. Suatu prosedur tanpa parameter dapat dipanggil secara langsung dengan menggunakan pernyataan EXEC atau EXECUTE statement diikuti dengan nama prosedur sebagai berikut:

EXEC procedure_name ();
EXEC procedure_name;


Prosedur dengan parameter dapat dipanggil dengan menggunakan pernyataan EXEC atau EXECUTE yang diikuti dengan nama prosedur dan parameternya sesuai urutan daftar parameter prosedur seperti yang ditunjukkan di bawah ini:

EXEC procedure_name (param1, param2 ... paramN);


Sekarang, kita bisa memanggil prosedur adjust_salary () sebagai pernyataan berikut:

-- before adjustment
SELECT salary FROM employees WHERE employee_id = 200;
-- call procedure
exec adjust_salary(200,5);
-- after adjustment
SELECT salary FROM employees WHERE employee_id = 200;
Dalam tutorial ini, kami telah perkenalkan prosedur PL / SQL dan menunjukkan kepada kamu langkah demi langkah bagaimana mengembangkan dan memanggil prosedur PL / SQL yang menyesuaikan gaji karyawan di database HR.


sumber referensi dan artikel asli : http://www.plsqltutorial.com

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

Tuesday, October 10, 2017

Perkenalan dengan PL / SQL Nested Block

Nested Block berarti menanamkan satu atau lebih blok PL / SQL di dalam blok PL / SQL lain yang memberi kamu kendali yang lebih baik terhadap eksekusi program dan exception handling.

Mari kita lihat contoh berikut ini:

SET SERVEROUTPUT ON SIZE 1000000;
DECLARE
  n_emp_id EMPLOYEES.EMPLOYEE_ID%TYPE := &emp_id1;
BEGIN
  DECLARE
    n_emp_id employees.employee_id%TYPE := &emp_id2;
    v_name   employees.first_name%TYPE;
  BEGIN
    SELECT first_name
    INTO v_name
    FROM employees
    WHERE employee_id = n_emp_id;

    DBMS_OUTPUT.PUT_LINE('First name of employee ' || n_emp_id ||
                                       ' is ' || v_name);
    EXCEPTION
      WHEN no_data_found THEN
        DBMS_OUTPUT.PUT_LINE('Employee ' || n_emp_id || ' not found');
  END;
END;
/


Kita memiliki blok PL / SQL yang bersarang di dalam blok PL / SQL lain pada contoh di atas. Blok PL / SQL luar disebut blok induk atau blok penutup dan blok PL / SQL bagian dalam dikenal sebagai balok anak, blok bersarang atau blok tertutup.

PL / SQL bersarang blok



Jika kamu melihat kode dengan hati-hati, kamu akan melihat bahwa kita memiliki dua variabel dengan nama yang sama n_emp_id di bagian deklarasi blok orang tua dan anak. Hal ini diperbolehkan dalam skenario ini.

Pertanyaannya di sini adalah variabel mana yang diterima oleh pernyataan SELECT? Jika kamu menjalankan kode di SQL * PLUS kamu akan melihat bahwa pernyataan SELECT akan menerima variabel di blok anak. Mengapa? Karena PL / SQL memberikan preferensi pertama pada variabel di dalam bloknya sendiri.

Jika variabel tidak ditemukan, PL / SQL akan mencari variabel di blok induk dan mengatasinya. Jika tidak ada variabel seperti itu, PL / SQL akan mengeluarkan kesalahan. Dalam kasus ini, variabel v_emp_id di blok anak menimpa variabel di blok induk.

Perhatikan bahwa bukan praktik yang baik untuk memiliki beberapa variabel yang memiliki nama yang sama di blok yang berbeda. Kami mengambil contoh ini hanya untuk demonstrasi saja.

Label Blok PL / SQL

Jadi bagaimana jika kamu ingin merujuk pada variabel di blok induk di dalam blok anak di contoh di atas? PL / SQL memberi Anda fitur yang disebut label blok sehingga kamu dapat memenuhi semua referensi ke variabel di dalam blok melalui label.

Untuk memberi label blok, kamu hanya perlu memberi label nama sebelum bagian deklarasi sebagai berikut:

<<block_label>>
DECLARE
...
BEGIN
...
END;

Kemudian, Anda bisa merujuk ke sebuah variabel di dalam blok dengan menggunakan notasi titik (.) Seperti di bawah ini:

block_label.variable_name;
Berikut adalah contoh sederhana penggunaan label blok:

SET SERVEROUTPUT ON SIZE 1000000;
<<label>>
DECLARE
  v_name varchar2(25) := 'Maria';
BEGIN
  DBMS_OUTPUT.PUT_LINE(label.v_name);
END;
/

Dan kita bisa menulis ulang contoh yang memiliki beberapa variabel dengan nama yang sama menggunakan label blok sebagai berikut:

SET SERVEROUTPUT ON SIZE 1000000;
<<parent>>
DECLARE
  n_emp_id EMPLOYEES.EMPLOYEE_ID%TYPE := &emp_id1;
BEGIN
  <<child>>
  DECLARE
    n_emp_id employees.employee_id%TYPE := &emp_id2;
    v_name   employees.first_name%TYPE;
  BEGIN
    SELECT first_name
    INTO v_name
    FROM employees
    WHERE employee_id = parent.n_emp_id;

    DBMS_OUTPUT.PUT_LINE('First name of employee ' || parent.n_emp_id ||
                         ' is ' || child.v_name);

    EXCEPTION
      WHEN no_data_found THEN
        DBMS_OUTPUT.PUT_LINE('Employee ' || parent.n_emp_id || ' not found');
  END;
END;
/

Ada beberapa keuntungan menggunakan label blok PL / SQL:

  •     Perbaiki keterbacaan kode.
  •     Dapatkan kontrol eksekusi kode yang lebih baik karena label blok bisa menjadi sasaran pernyataan EXIT dan CONTINUE.
  •     Memungkinkan Anda untuk memenuhi syarat referensi ke variabel di blok induk yang memiliki nama yang sama dengan variabel di blok anak menggunakan notasi titik (.)

Dalam tutorial ini, kamu telah belajar bagaimana bekerja dengan PL / SQL nested block dan bagaimana menggunakan label blok untuk memenuhi syarat referensi ke variabel dari blok induk yang memiliki nama yang sama dengan variabel pada blok anak.


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

Struktur blok PL / SQL dan blok anonim


PL / SQL unit program mengatur kode menjadi blok. Blok tanpa nama dikenal sebagai blok anonim. Blok anonim adalah unit yang paling sederhana di PL / SQL. Ini disebut blok anonim karena tidak tersimpan dalam database Oracle.

Blok anonim adalah satu-satunya penggunaan dan berguna dalam situasi tertentu seperti membuat unit uji.
Di bawah ini contoh ilustrasi sintaks blok anonim:

[DECLARE]
   Declaration statements;
BEGIN
   Execution statements;
  [EXCEPTION]
      Exception handling statements;
END;

Mari kita lihat struktur blok PL / SQL secara lebih rinci.

Struktur Blok PL / SQL
sumber:http://www.plsqltutorial.com

Struktur Blok PL / SQL

Blok anonim memiliki tiga bagian dasar yaitu deklarasi, eksekusi, dan penanganan pengecualian. Hanya bagian eksekusi yang wajib dan yang lainnya bersifat opsional.

Bagian deklarasi memungkinkanmu menentukan tipe data, struktur, dan variabel. kamu akan sering mendeklarasikan variabel di bagian deklarasi dengan memberi mereka nama, tipe data, dan nilai awal.

Bagian eksekusi diperlukan dalam struktur blok dan harus memiliki setidaknya satu pernyataan. Bagian eksekusi adalah tempat di mana kamu memasukkan kode eksekusi atau kode logika bisnis. kamu dapat menggunakan pernyataan prosedural dan SQL di dalam bagian eksekusi.

Bagian exception handling( penanganan pengecualian ) dimulai dengan kata kunci EXCEPTION. Bagian pengecualian adalah tempat dimana kamu meletakkan kode untuk menangani pengecualian. kamu bisa menangkap atau menangani pengecualian di bagian pengecualian.

Perhatikan bahwa slash forward tunggal (/) adalah sinyal untuk menginstruksikan SQL * Plus untuk mengeksekusi blok PL / SQL.

    SQL * Plus adalah alat klien database Oracle yang mengeksekusi pernyataan PL / SQL dan mengeluarkan hasil query. SQL * Plus menyediakan administrator dan programmer dengan antarmuka command-line untuk bekerja dengan database Oracle. SQL * Plus sering disebut dengan SQLPLUS.

Contoh struktur blok PL / SQL


Mari kita lihat blok PL / SQL paling sederhana yang tidak melakukan apa-apa.
BEGIN
   NULL;
END;



Jika kamu menjalankan blok anonim di atas di SQL * Plus, kamu akan melihat bahwa pesan tersebut mengeluarkan pesan yang mengatakan:

PL/SQL procedure successfully completed

Karena pernyataan NULL tidak melakukan apapun.

Untuk menampilkan output database di layar, kamu perlu untuk:

    Pertama, gunakan perintah SET SERVEROUTPUT ON untuk menginstruksikan SQL * Plus untuk menampilkan output database setelah menjalankan blok PL / SQL. SET SERVEROUTPUT ON adalah perintah SQL * Plus, yang tidak berhubungan dengan PL / SQL.

    Kedua, gunakan prosedur DBMS_OUTPUT.PUT_LINE untuk menampilkan string di layar.

Contoh berikut menampilkan pesan Hello PL / SQL di layar menggunakan SQL * Plus:

SET SERVEROUTPUT ON SIZE 1000000
BEGIN
   DBMS_OUTPUT.PUT_LINE('Hello PL/SQL');
END;
/

Dalam contoh ini, kamu cukup menggunakan bagian eksekusi untuk mengeksekusi kode. kamu akan belajar bagaimana mendeklarasikan variabel dan menangani pengecualian dalam tutorial berikutnya.

Berlatih pada struktur blok anonim

Sekarang, giliran kamu untuk membuat blok PL / SQL dan menjalankannya di SQL * Plus yang menampilkan pesan ucapan "Hello Word" di layar.

Pertama, Anda perlu login ke database Oracle melalui SQL * Plus dengan memberikan username dan password seperti gambar berikut.

SQL * Plus Login

Struktur Blok PL / SQL
Gambar 1. SQL * Plus Login


Kedua, ketik kode berikut ke dalam SQL * Plus dan jalankan seperti gambar berikut ini:

PL / SQL Hello Word

Struktur Blok PL / SQL
Gambar 2.PL/SQL Hello World

Selamat, kamu telah menyelesaikan program PL / SQL yang pertama!

Dalam tutorial ini, kamu telah belajar bagaimana PL / SQL mengatur kode menggunakan struktur blok, dan bagaimana membuat PL / SQL pertama dan menjalankannya dengan menggunakan SQL * PLUS.


Sumber Referensi gambar dan artikel asli : http://www.plsqltutorial.com

Monday, October 9, 2017

Penrgertian Variabel PL / SQL

Dalam PL / SQL, sebuah variabel adalah nama yang berarti dari lokasi penyimpanan sementara yang mendukung tipe data tertentu dalam suatu program. Sebelum menggunakan variabel, Kamu harus mendeklarasikannya terlebih dulu di bagian deklarasi blok PL / SQL.

Aturan penamaan variabel PL / SQL


Seperti bahasa pemrograman lainnya, variabel dalam PL / SQL harus mengikuti aturan penamaan sebagai berikut:

  1. Nama variabel harus kurang dari 31 karakter. Cobalah untuk membuatnya seirama mungkin dalam 31 karakter.
  2. Nama variabel harus dimulai dengan huruf ASCII. Bisa berupa huruf kecil atau huruf besar. Perhatikan bahwa PL / SQL tidak bersifat case-insensitive, yang berarti v_data dan V_DATA mengacu pada variabel yang sama.
  3. Diikuti oleh karakter pertama ada beberapa angka, garis bawah (_), dan tanda dollar ($) karakter. 
Sekali lagi, jangan membuat variabel Anda susah dibaca dan sulit dimengerti.

PL / SQL variabel penamaan konvensi


Sangat disarankan agar Anda mengikuti konvensi penamaan yang tercantum dalam tabel berikut untuk membuat variabel terlihat jelas dalam program PL / SQL:

Prefix                    DataType
 v_                        VARCHAR2
 n_                        NUMBER
 t_                         TABEL
 r_                         ROW
 d_                        DATE
 b_                        BOOLEAN

Setiap organisasi memiliki pedoman penamaan konvensi penamaannya sendiri. Pastikan kamu mematuhi pedoman konvensi penamaan organisasinya.

Misalnya, jika kamu ingin mendeklarasikan variabel yang memegang nama depan karyawan dengan tipe data VARCHAR2, nama variabel harus v_first_name.

Deklarasi Variabel PL / SQL


Untuk mendeklarasikan sebuah variabel, kamu bisa menggunakan nama variabel diikuti oleh tipe data dan diakhiri dengan titik koma (;). kamu juga dapat secara eksplisit menambahkan batasan panjang ke tipe data dalam tanda kurung.

Contoh berikut ini adalah ilustrasi mendeklarasikan beberapa variabel dalam blok anonim PL / SQL:

DECLARE
   v_first_name varchar2(20);
   v_last_name varchar2(20);
   n_employee_id number;
   d_hire_date date;
BEGIN
   NULL;
END;

PL/SQL variable anchors


Dalam program PL / SQL, salah satu tugas yang paling umum adalah memilih nilai dari kolom dalam tabel menjadi satu set variabel. Jika tipe data kolom dari tabel berubah, kamu harus mengubah program PL / SQL untuk membuat jenis variabel yang kompatibel dengan perubahan baru.

PL / SQL terdapat fitur yang sangat berguna yang disebut variable anchors. Ini mengacu pada penggunaan kata kunci% TYPE untuk mendeklarasikan variabel dengan tipe data dikaitkan dengan tipe data kolom dari kolom tertentu dalam sebuah tabel.

Mari kita lihat tabel karyawan di database sampel SDM yang disediakan oleh Oracle:

Tabel Karyawan - Variabel PL / SQL



DECLARE
  v_first_name  EMPLOYEES.FIRST_NAME%TYPE;
  v_last_name   EMPLOYEES.LAST_NAME%TYPE;
  n_employee_id EMPLOYEES.EMPLOYEE_ID%TYPE;
  d_hire_date   EMPLOYEES.HIRE_DATE%TYPE;
BEGIN
  NULL;
END;
/

Variabel v_first_name memiliki tipe data yang sama dengan tipe data kolom first_name pada tabel emloyees. Jika tipe data perubahan kolom first_name, jenis variabel v_first_name secara otomatis mewarisi tipe data kolom yang baru.

Penugasan variabel PL / SQL


Dalam PL / SQL, untuk menetapkan nilai atau variabel ke variabel, bisa menggunakan operator penugasan (: =) yang merupakan titik dua (:) diikuti oleh tanda sama dengan (=).

Silakan lihat daftar kode di bawah ini untuk mendapatkan pemahaman yang lebih baik:


DECLARE
   v_first_name EMPLOYEES.FIRST_NAME%TYPE;
   v_last_name EMPLOYEES.LAST_NAME%TYPE;
   n_employee_id EMPLOYEES.EMPLOYEE_ID%TYPE;
   d_hire_date EMPLOYEES.HIRE_DATE%TYPE;
BEGIN
   v_first_name := 'Mary';
   v_last_name := 'Jane';
   d_hire_date := to_date('19700101','YYYYMMDD');
END;
/


Pada contoh di atas, saya menugaskan variabel Mary ke v_first_name, variabel Jane ke v_last_name, dan hasil dari fungsi to_date menjadi variabel d_hire_date.

kamu juga dapat menggunakan INTO dari statemen SELECT SQL untuk menetapkan sebuah nilai ke sebuah variabel. Klausa INTO memindahkan nilai dari daftar kolom SELECT query ke variabel PL / SQL yang sesuai.

SET SERVEROUTPUT ON SIZE 1000000;
DECLARE
   v_first_name EMPLOYEES.FIRST_NAME%TYPE;
   v_last_name EMPLOYEES.LAST_NAME%TYPE;
   n_employee_id EMPLOYEES.EMPLOYEE_ID%TYPE;
   d_hire_date EMPLOYEES.HIRE_DATE%TYPE;
BEGIN
   SELECT employee_id,
          first_name,
          last_name,
          hire_date
   INTO n_employee_id,
        v_first_name,
        v_last_name,
        d_hire_date
   FROM employees
   WHERE employee_id = 200;

   DBMS_OUTPUT.PUT_LINE(v_first_name);
   DBMS_OUTPUT.PUT_LINE(v_last_name);
   DBMS_OUTPUT.PUT_LINE(d_hire_date);
END;
/

Menginisialisasi variabel


Ketika kamu mendeklarasikan sebuah variabel, nilainya tidak diinisiasi dan karenanya adalah NULL. Kamu dapat menginisialisasi variabel sebuah nilai pada bagian deklarasi dengan menggunakan variabel assignment.

Lihat contoh berikut ini:

DECLARE
  n_employee_id EMPLOYEES.EMPLOYEE_ID%TYPE :=200;
  d_hire_date EMPLOYEES.HIRE_DATE%TYPE:=to_date('19700101','YYYYMMDD');
BEGIN
   NULL;
END;
/


Dalam PL / SQL, NULL berarti nilai yang tidak diketahui sehingga memiliki beberapa karakteristik khusus sebagai berikut:

    NULL tidak sama dengan apapun, bahkan NULL sendiri.
    NULL tidak lebih dari atau kurang dari apapun, bahkan NULL.
    Anda tidak dapat menggunakan operator logika sama (=) atau (<>) dengan NULL. Anda harus menggunakan SQL IS NULL atau TIDAK NULL untuk menguji nilai NULL.

Dalam tutorial ini, kami telah menunjukkan kepada Anda bagaimana cara mendeklarasikan, menetapkan dan menginisialisasi variabel PL / SQL. Kami juga mengantarmu bagaimana cara mendeklarasikan variabel PL / SQL menggunakan anchor variabel untuk membuat kodemu lebih fleksibel dan mudah beradaptasi dengan perubahan kolom tabel database.

sumber gambar dan Referensi artikel asli  : http://www.plsqltutorial.com/

Pengertian PL / SQL

PL / SQL singkatan dari Bahasa Prosedural untuk Structured Query Language (SQL). Kalau kamu pernah memprogram pakai bahasa Pascal atau Ada, Kamu akan nemuin banyak sintaks yang familiar di PL / SQL.

SQL adalah bahasa yang cukup kuat untuk query dan updating data dalam database relasional.


Oracle membuat PL / SQL yang memperluas beberapa keterbatasan SQL untuk memberikan solusi yang lebih komprehensif untuk membangun aplikasi mission-critical yang berjalan di database Oracle.

Mengenal lebih jauh tentang bahasa PL / SQL


Sebelum memulai, disarankan untuk menyiapkan database Oracle yang sudah di install sistem operasimu untuk membantumu berlatih dan belajar PL / SQL lebih efektif.

Sulit untuk menulis aplikasi menggunakan SQL hanya karena setiap pernyataan SQL berjalan secara independen dan memiliki sedikit atau tidak ada efek satu sama lain. Untuk mengatasi keterbatasan ini, Anda sering harus menggunakan bahasa pemrograman lain seperti C / C ++, Perl, PHP, Java, dll, dengan menggunakan database interface standar. Oracle mendukung pendekatan ini ketika Anda ingin mengembangkan aplikasi yang berinteraksi dengan database Oracle.

Selain itu, Oracle juga mendorong Anda untuk menggunakan PL / SQL untuk bekerja dengan database Oracle karena PL / SQL membawa banyak keuntungan.

Sejarah PL / SQL


Oracle memperkenalkan PL / SQL (versi 1.0) pada produk Oracle Database versi 6.0 sebagai bahasa scripting di SQL * Plus dan bahasa pemrograman di SQL * Forms 3.

Sejak versi 7, Oracle melakukan upgrade besar untuk PL / SQL (versi 2.0) yang menyediakan lebih banyak fitur seperti procedures, functions, packages, records, collections,
dan beberapa ekstensi paket.

Sejak saat itu banyak fitur telah ditambahkan ke PL / SQL seperti dukungan XML, preprocessor, file I / O, orientasi objek, pernyataan baru seperti CONTINUE, GOTO, dll untuk membuatnya menjadi salah satu bahasa pemrograman yang paling terstruktur.

Keuntungan menggunakan PL / SQL


PL / SQL adalah bahasa yang sangat terstruktur


PL / SQL menyediakan sintaks yang sangat ekspresif yang memudahkan bagi siapa saja yang ingin belajar PL / SQL. kalo kamu sudah terbiasa dengan pemrograman dengan bahasa lain, kamu bisa saja mengerti bahasa PL / SQL dengan sangat  cepat dan memahami maksud dari kode tanpa kesulitan.

Fitur bahasa PL / SQL mencakup elemen berikut:

  •     Variables
  •     Block structure, nested block structure
  •     Conditional and sequential statements: IF, CASE, GOTO, CONTINUE and NULL
  •     Loop statements: WHILE loop, FOR loop
  •     Exception and error handling
  •     Data types: string, numbers, date & timestamp, Boolean and LOB
  •     Record
  •     Collection
  •     Cursor
  •     Procedures, functions, packages
  •     Object-orientation features
  •     Dynamic SQL and dynamic PL/SQL

PL / SQL adalah bahasa portabel dan standar untuk pengembangan Oracle


Setelah kamu mengembangkan program PL / SQL di Database Oracle, kamu juga dapat memindahkannya ke Database Oracle lainnya tanpa perubahan, dengan asumsi bahwa versi database Oracle kompatibel.

PL / SQL adalah bahasa yang disematkan


Program PL / SQL seperti fungsi dan prosedur disimpan dalam database Oracle dalam bentuk terkompilasi. Hal ini memungkinkan aplikasi atau pengguna untuk berbagi fungsionalitas yang sama yang tersimpan dalam database Oracle.

PL / SQL juga memungkinkan kamu untuk menentukan pemicu yang dapat dipanggil secara otomatis untuk menanggapi kejadian tertentu pada tabel terkait.
PL / SQL adalah bahasa berkinerja tinggi di dalam Oracle Database

Oracle menambahkan banyak perangkat tambahan ke PL / SQL agar lebih efisien untuk berinteraksi dengan database Oracle.


Referensi artikel asli: http://www.plsqltutorial.com/

Popular Posts