Teradata - Prosedur Tersimpan
Prosedur tersimpan berisi sekumpulan pernyataan SQL dan pernyataan prosedural. Mereka mungkin hanya berisi pernyataan prosedural. Definisi prosedur tersimpan disimpan dalam database dan parameter disimpan dalam tabel kamus data.
Keuntungan
Prosedur yang disimpan mengurangi beban jaringan antara klien dan server.
Memberikan keamanan yang lebih baik karena data diakses melalui prosedur yang tersimpan daripada mengaksesnya secara langsung.
Memberikan pemeliharaan yang lebih baik karena logika bisnis diuji dan disimpan di server.
Membuat Prosedur
Prosedur Tersimpan dibuat menggunakan pernyataan CREATE PROCEDURE.
Sintaksis
Berikut ini adalah sintaks umum dari pernyataan CREATE PROCEDURE.
CREATE PROCEDURE <procedurename> ( [parameter 1 data type, parameter 2 data type..] )
BEGIN
<SQL or SPL statements>;
END;
Contoh
Perhatikan Tabel Gaji berikut ini.
KaryawanNo | Kotor | Deduksi | Gaji bersih |
---|---|---|---|
101 | 40.000 | 4.000 | 36.000 |
102 | 80.000 | 6.000 | 74.000 |
103 | 90.000 | 7.000 | 83.000 |
104 | 75.000 | 5.000 | 70.000 |
Contoh berikut membuat prosedur tersimpan bernama Sisipan Gaji untuk menerima nilai dan menyisipkan ke dalam Tabel Gaji.
CREATE PROCEDURE InsertSalary (
IN in_EmployeeNo INTEGER, IN in_Gross INTEGER,
IN in_Deduction INTEGER, IN in_NetPay INTEGER
)
BEGIN
INSERT INTO Salary (
EmployeeNo,
Gross,
Deduction,
NetPay
)
VALUES (
:in_EmployeeNo,
:in_Gross,
:in_Deduction,
:in_NetPay
);
END;
Prosedur Pelaksanaan
Prosedur Tersimpan dijalankan menggunakan pernyataan CALL.
Sintaksis
Berikut ini adalah sintaks umum dari pernyataan CALL.
CALL <procedure name> [(parameter values)];
Contoh
Contoh berikut memanggil prosedur tersimpan Sisipkan Gaji dan menyisipkan catatan ke Tabel Gaji.
CALL InsertSalary(105,20000,2000,18000);
Setelah query di atas dijalankan, itu menghasilkan output berikut dan Anda dapat melihat baris yang disisipkan di tabel Gaji.
KaryawanNo | Kotor | Deduksi | Gaji bersih |
---|---|---|---|
101 | 40.000 | 4.000 | 36.000 |
102 | 80.000 | 6.000 | 74.000 |
103 | 90.000 | 7.000 | 83.000 |
104 | 75.000 | 5.000 | 70.000 |
105 | 20.000 | 2.000 | 18.000 |