Server Side Programming
Pada server-side programming, perintah-perintah
program (script) dijalankan di web server, kemudian hasilnya dikirim ke
browser dengan format HTML. Program web yang tergolong dalam server-side
programming adalah CGI/Perl, ASP (Active Server Page), PHP, CFM (Coldfussion),
JSP (Java Script Page) dan lainnya.
Teknologi-teknologi server-side programming memang
mempunyai kelemahan dan kelebihan, namun semua dari program server-side
programming mempunyai persamaan yaitu kontrol. Artinya hanya server yang
dikontrol oleh pengembang web tentang bagaimana program pada sisi server
seharusnya berjalan. Yang paling penting dan perlu dipertimbangkan dalam
server-side programming ini adalah isu tentang kecepatan dalam melayani banyak
user. Sebagai contoh, form login yang biasanya ditampilkan untuk validasi user.
Validasi akan dikirimkan ke server dan kemudian dicocokkan dengan basisdata di
server, kemudian server akan mengirim balik informasi tersebut apakah valid
atau tidak
Dalam pemrograman berbasis web ini, didalamnya adalah berupa
script-script, baik pemrograman client maupun pemrograman server, dengan dalam
bentuk script ini lebih mendekati atau dapat dikatakan pemrograman yang
berasosiasi dengan halaman web. Server-side scripting yang banyak dalam pemrograman
web adalah PHP, ASP dari Microsoft, JSP dari SUN, Coldfusion dan
lainnya.
Pengantar Server-Side Programming
Dalam bahasa nonprocedural seperti SQL, set data yang akan dioperasikan pada ditentukan, tetapi tidak operasi yang akan dilakukan atau cara di mana mereka harus dilakukan. Dalam program bahasa prosedural, sebagian besar eksekusi pernyataan tergantung pada pernyataan sebelumnya atau berikutnya dan pada struktur kontrol, seperti loop atau cabang kondisional, yang tidak tersedia di SQL.
Untuk ilustrasi perbedaan antara bahasa prosedural dan nonprocedural, anggaplah bahwa pernyataan SQL berikut query tabel karyawan:
Employee_id SELECT,
department_id, last_name, gaji DARI karyawan;
Sebelumnya meminta data laporan, tetapi tidak berlaku logika pada data. Namun, misalkan Anda ingin aplikasi untuk menentukan apakah setiap karyawan dalam kumpulan data layak kenaikan gaji berdasarkan kinerja gaji dan departemen. Sebuah kondisi yang diperlukan dari kenaikan gaji adalah bahwa karyawan tidak menerima lebih dari tiga kenaikan gaji dalam lima tahun terakhir. Jika kenaikan gaji disebut untuk, maka aplikasi tersebut harus menyesuaikan gaji dan email manajer; jika tidak, aplikasi tersebut harus memperbarui laporan.
Masalahnya adalah bagaimana aplikasi database prosedural yang membutuhkan bersyarat logika dan aliran kontrol program dapat menggunakan SQL. Pendekatan pembangunan dasar adalah sebagai berikut:
Gunakan pemrograman
sisi klien untuk menanamkan pernyataan
SQL dalam aplikasi
yang ditulis dalam bahasa prosedural seperti C, C ++, atau Java
Anda dapat menempatkan pernyataan SQL dalam kode sumber dan mengirimkannya ke precompiler atau Java penerjemah sebelum kompilasi. Atau, Anda dapat menghilangkan langkah precompilation dan menggunakan API seperti Java Database Connectivity (JDBC) atau Oracle Call Interface (OCI) untuk memungkinkan aplikasi untuk berinteraksi dengan database.
Gunakan pemrograman server-side untuk mengembangkan logika data yang berada dalam database
Anda dapat menempatkan pernyataan SQL dalam kode sumber dan mengirimkannya ke precompiler atau Java penerjemah sebelum kompilasi. Atau, Anda dapat menghilangkan langkah precompilation dan menggunakan API seperti Java Database Connectivity (JDBC) atau Oracle Call Interface (OCI) untuk memungkinkan aplikasi untuk berinteraksi dengan database.
Gunakan pemrograman server-side untuk mengembangkan logika data yang berada dalam database
Sebuah aplikasi secara eksplisit dapat meminta disimpan subprogram (prosedur dan fungsi), yang ditulis dalam PL / SQL (diucapkan PL sekuel) atau Java. Anda juga dapat membuat memicu, yang diberi nama Unit program yang disimpan dalam database dan dipanggil dalam menanggapi peristiwa tertentu.
Bab ini menjelaskan pendekatan kedua. Manfaat utama dari pemrograman server-side adalah bahwa fungsi dibangun ke dalam database dapat digunakan di mana saja. Database, bukan aplikasi menentukan cara terbaik untuk melakukan tugas-tugas pada sistem operasi tertentu. Juga, subprogram meningkatkan skalabilitas dengan memusatkan proses aplikasi di server, memungkinkan klien untuk menggunakan kembali kode. Karena panggilan subprogram cepat dan efisien, satu panggilan dapat memulai disimpan subprogram menghitung-intensif, mengurangi lalu lintas jaringan.
Anda dapat menggunakan bahasa berikut untuk menyimpan data logika di Oracle Database:
PL /
SQL
PL /
SQL adalah Oracle
Database ekstensi prosedural
untuk SQL. PL
/ SQL terintegrasi
dengan database, mendukung
semua jenis laporan, fungsi, dan data Oracle
SQL. Aplikasi ditulis
dalam API database dapat memanggil PL / SQL subprogram disimpan
dan mengirim blok PL / SQL code ke database untuk
eksekusi.
Java
Java
Oracle Database juga menyediakan dukungan untuk mengembangkan,
menyimpan, dan menggunakan aplikasi
Java. Jawa disimpan subprogram berjalan dalam
database dan independen terhadap
program yang dijalankan di tingkat menengah. Java subprogram
disimpan antarmuka dengan SQL menggunakan model
yang sama eksekusi untuk PL
/ SQL.
Lihat Juga:
Lihat Juga:
"Sisi Klien Pemrograman Database" untuk belajar
tentang embedding SQL dengan precompilers dan
API
Panduan Oracle Database 2 Developer Day untuk pengenalan Oracle pengembangan aplikasi database
Oracle Database Panduan Lanjutan Application Developer untuk belajar bagaimana memilih lingkungan pemrograman
Ikhtisar PL / SQL
PL /
SQL menyediakan server-side,
disimpan bahasa prosedural yang mudah digunakan, mulus
dengan SQL, kuat,
portabel, dan aman.
Anda dapat mengakses dan memanipulasi
data database menggunakan obyek skema prosedural yang
disebut PL / unit SQL Program.
PL unit
program / SQL umumnya dikategorikan sebagai
berikut:
Sebuah subprogram adalah PL / SQL block yang disimpan dalam database dan dapat disebut dengan nama dari aplikasi. Ketika Anda membuat sebuah subprogram, database mengurai subprogram dan menyimpan representasi dipecah dalam database. Anda dapat mendeklarasikan subprogram sebagai prosedur atau fungsi.
Sebuah subprogram adalah PL / SQL block yang disimpan dalam database dan dapat disebut dengan nama dari aplikasi. Ketika Anda membuat sebuah subprogram, database mengurai subprogram dan menyimpan representasi dipecah dalam database. Anda dapat mendeklarasikan subprogram sebagai prosedur atau fungsi.
Sebuah blok
anonim adalah PL / SQL block yang muncul dalam aplikasi Anda dan tidak disebutkan atau
disimpan dalam database. Dalam
banyak aplikasi, / PL SQL blok dapat
muncul di mana saja pernyataan SQL dapat muncul.
PL / SQL compiler dan interpreter yang tertanam dalam Oracle SQL Developer, memberikan pengembang sebuah model pengembangan yang konsisten dan leveraged pada kedua klien dan server. Juga, PL / SQL prosedur yang tersimpan dapat dipanggil dari beberapa klien database, seperti Pro * C, JDBC, ODBC, atau OCI, dan dari Oracle Laporan dan Oracle Forms.
Lihat Juga:
PL / SQL compiler dan interpreter yang tertanam dalam Oracle SQL Developer, memberikan pengembang sebuah model pengembangan yang konsisten dan leveraged pada kedua klien dan server. Juga, PL / SQL prosedur yang tersimpan dapat dipanggil dari beberapa klien database, seperti Pro * C, JDBC, ODBC, atau OCI, dan dari Oracle Laporan dan Oracle Forms.
Lihat Juga:
"Alat untuk
Database Developer"
Oracle Database PL / SQL Language Reference untuk informasi lengkap tentang PL / SQL, termasuk paket
PL /
SQL subprogram
A PL
/ SQL subprogram
adalah bernama PL
/ SQL block
yang memungkinkan pemanggil untuk memasok parameter yang dapat menjadi masukan saja, output saja, atau input
dan nilai output. Sebuah subprogram memecahkan
suatu masalah tertentu atau melakukan
tugas-tugas yang terkait dan
berfungsi sebagai blok bangunan untuk modular, aplikasi database dipertahankan.
Sebuah subprogram adalah salah satu prosedur atau fungsi. Prosedur dan fungsi adalah identik kecuali bahwa fungsi selalu mengembalikan nilai tunggal ke pemanggil, sedangkan prosedur tidak. Prosedur istilah dalam bab ini berarti prosedur atau fungsi.
Sebuah subprogram adalah salah satu prosedur atau fungsi. Prosedur dan fungsi adalah identik kecuali bahwa fungsi selalu mengembalikan nilai tunggal ke pemanggil, sedangkan prosedur tidak. Prosedur istilah dalam bab ini berarti prosedur atau fungsi.
Lihat Juga:
Pro *
C / C ++ Programmer Panduan
dan Pro * COBOL Programmer Panduan
untuk belajar tentang prosedur yang
tersimpan dalam bahasa ini
Oracle Database PL / SQL Language Reference
Keuntungan dari PL / SQL subprogram
Oracle Database PL / SQL Language Reference
Keuntungan dari PL / SQL subprogram
Sebagaimana dijelaskan dalam "Pengantar Server-Side Programming", pemrograman server-side memiliki banyak
keuntungan dibandingkan pemrograman sisi klien. PL /
SQL subprogram memberikan
keuntungan sebagai berikut:
peningkatan kinerja
peningkatan kinerja
Jumlah
informasi bahwa aplikasi harus
mengirimkan melalui jaringan kecil
dibandingkan dengan mengeluarkan
pernyataan SQL individu
atau mengirim teks dari PL seluruh / SQL blok Oracle Database, karena informasi yang dikirim hanya sekali dan
selanjutnya dipanggil bila
digunakan.
Bentuk
dikompilasi dari prosedur
sudah tersedia dalam database, sehingga tidak ada kompilasi diperlukan pada waktu eksekusi.
Jika
prosedur ini hadir dalam kolam bersama dari SGA,
maka database tidak perlu mengambilnya dari disk dan dapat mulai eksekusi segera.
alokasi memori
alokasi memori
Karena prosedur
yang tersimpan memanfaatkan kemampuan
memori bersama dari Oracle Database, harus memuat hanya satu salinan prosedur
ke dalam memori untuk eksekusi oleh beberapa pengguna. Berbagi kode kalangan
pengguna hasil dalam pengurangan
substansial dalam persyaratan memori database untuk aplikasi.
Peningkatan produktivitas
Prosedur yang disimpan meningkatkan produktivitas pembangunan.
Dengan merancang aplikasi sekitar seperangkat prosedur,
Anda dapat menghindari coding berlebihan. Misalnya, Anda
dapat menulis prosedur untuk
memanipulasi baris dalam tabel
karyawan. Setiap aplikasi dapat
memanggil prosedur ini tanpa
memerlukan pernyataan SQL harus
ditulis ulang. Jika metode perubahan
manajemen data, maka
hanya prosedur harus dimodifikasi,
bukan aplikasi yang menggunakan prosedur.
Prosedur yang disimpan mungkin adalah cara terbaik untuk mencapai
penggunaan kembali kode. Karena setiap aplikasi client ditulis
dalam bahasa yang
terhubung ke database dapat
meminta prosedur yang tersimpan, mereka
menyediakan penggunaan kembali kode yang maksimal di semua lingkungan.
integritas
integritas
Prosedur yang disimpan meningkatkan integritas dan konsistensi
dari aplikasi Anda.
Dengan mengembangkan aplikasi di kelompok umum prosedur,
Anda mengurangi kemungkinan kesalahan coding.
Misalnya, Anda dapat menguji subprogram untuk menjamin bahwa ia mengembalikan hasil yang akurat dan, setelah diverifikasi, menggunakannya kembali di sejumlah aplikasi tanpa pengujian ulang. Jika struktur data direferensikan oleh prosedur yang diubah, maka Anda hanya harus mengkompilasi ulang prosedur. Aplikasi yang memanggil prosedur tidak selalu memerlukan modifikasi.
Keamanan dengan
prosedur hak pembuat definisi
ini
Prosedur yang disimpan dapat membantu menegakkan keamanan data (lihat "Ikhtisar Keamanan Database"). Prosedur hak A pembuat definisi ini dijalankan dengan privilege dari pemiliknya, bukan pengguna saat ini. Dengan demikian, Anda dapat membatasi operasi database yang pengguna melakukan dengan memungkinkan mereka untuk mengakses data hanya melalui prosedur dan fungsi yang dijalankan dengan hak istimewa yang pembuat definisi itu.
Misalnya, Anda dapat memberikan akses pengguna ke prosedur yang update meja tapi tidak memberikan akses ke meja itu sendiri. Bila pengguna memanggil prosedur, itu berjalan dengan privileges dari pemiliknya. Pengguna yang hanya memiliki hak istimewa untuk menjalankan prosedur (tapi tidak hak untuk query, update, atau menghapus dari tabel yang mendasari) dapat meminta prosedur tetapi tidak memanipulasi data tabel dengan cara lain.
Hak warisan dan konteks skema dengan prosedur hak Invoker ini
Prosedur hak An Invoker ini mengeksekusi dalam skema pengguna saat ini dengan hak pengguna saat ini. Dengan kata lain, prosedur hak yang Invoker ini tidak terikat pada pengguna tertentu atau skema. Prosedur hak Invoker ini memudahkan pengembang aplikasi untuk memusatkan logika aplikasi, bahkan ketika data yang mendasari dibagi di antara skema pengguna.
Sebagai contoh, seorang pengguna hr_manager yang menjalankan prosedur update pada tabel hr.employees dapat memperbarui gaji, sedangkan hr_clerk yang menjalankan prosedur yang sama dibatasi untuk pengkinian data alamat.
Lihat Juga:
Prosedur yang disimpan dapat membantu menegakkan keamanan data (lihat "Ikhtisar Keamanan Database"). Prosedur hak A pembuat definisi ini dijalankan dengan privilege dari pemiliknya, bukan pengguna saat ini. Dengan demikian, Anda dapat membatasi operasi database yang pengguna melakukan dengan memungkinkan mereka untuk mengakses data hanya melalui prosedur dan fungsi yang dijalankan dengan hak istimewa yang pembuat definisi itu.
Misalnya, Anda dapat memberikan akses pengguna ke prosedur yang update meja tapi tidak memberikan akses ke meja itu sendiri. Bila pengguna memanggil prosedur, itu berjalan dengan privileges dari pemiliknya. Pengguna yang hanya memiliki hak istimewa untuk menjalankan prosedur (tapi tidak hak untuk query, update, atau menghapus dari tabel yang mendasari) dapat meminta prosedur tetapi tidak memanipulasi data tabel dengan cara lain.
Hak warisan dan konteks skema dengan prosedur hak Invoker ini
Prosedur hak An Invoker ini mengeksekusi dalam skema pengguna saat ini dengan hak pengguna saat ini. Dengan kata lain, prosedur hak yang Invoker ini tidak terikat pada pengguna tertentu atau skema. Prosedur hak Invoker ini memudahkan pengembang aplikasi untuk memusatkan logika aplikasi, bahkan ketika data yang mendasari dibagi di antara skema pengguna.
Sebagai contoh, seorang pengguna hr_manager yang menjalankan prosedur update pada tabel hr.employees dapat memperbarui gaji, sedangkan hr_clerk yang menjalankan prosedur yang sama dibatasi untuk pengkinian data alamat.
Lihat Juga:
Oracle Database PL / SQL Language Reference ikhtisar dari PL / SQL subprogram
Oracle Database Keamanan Panduan untuk mempelajari lebih lanjut tentang pembuat definisi dan hak-hak Invoker ini
Oracle Database Keamanan Panduan untuk mempelajari lebih lanjut tentang pembuat definisi dan hak-hak Invoker ini
Penciptaan PL
/ SQL subprogram
Sebuah subprogram
yang dibuat di tingkat skema dengan pernyataan CREATE PROSEDUR atau CREATE FUNCTION adalah mandiri
disimpan subprogram. Subprogram didefinisikan dalam paket disebut paket
subprogram dan dianggap
sebagai bagian dari paket. Basis
data menyimpan subprogram dalam
kamus data sebagai obyek skema.
Sebuah subprogram memiliki spesifikasi, yang mencakup deskripsi dari setiap parameter, dan tubuh. Contoh 8-1 menunjukkan bagian dari pernyataan penciptaan untuk mandiri PL / SQL prosedur hire_employees. Prosedur menyisipkan baris ke dalam tabel karyawan.
Contoh 8-1
PL / SQL Prosedur
CREATE PROSEDUR hire_employees
(p_last_name VARCHAR2, p_job_id VARCHAR2, NUMBER p_manager_id, DATE p_hire_date,
NOMOR p_salary, NOMOR p_commission_pct, NOMOR p_department_id)
IS
BEGIN
.
.
.
INSERT INTO karyawan (employee_id, last_name, job_id, MANAGER_ID, hire_date,
gaji, commission_pct, department_id)
VALUES (emp_sequence.NEXTVAL, p_last_name, p_job_id, p_manager_id, p_hire_date,
p_salary, p_commission_pct, p_department_id);
.
.
.
END;
Lihat Juga:
Oracle Database 2 Panduan Developer Day untuk belajar cara membuat subprogram
Oracle Database PL / SQL Language Reference untuk belajar tentang perintah CREATE PROSEDUR
Pelaksanaan PL / SQL subprogram
Pengguna dapat mengeksekusi subprogram interaktif dengan:
Menggunakan alat Oracle, seperti SQL * Plus atau SQL Developer (lihat "Tools untuk Database Developer")
Memanggil secara eksplisit dalam kode aplikasi database, seperti Oracle Forms atau aplikasi precompiler (lihat "Client-Side Pemrograman Database")
Memanggil secara eksplisit dalam kode prosedur atau pemicu lain
Gambar 8-1 menunjukkan aplikasi database yang berbeda memanggil hire_employees.
Gambar 8-1 Memanggil PL / SQL Stored Prosedur
Deskripsi Gambar 8-1 berikut
Deskripsi "Gambar 8-1 Memanggil PL / SQL Stored Prosedur"
Atau, pengguna istimewa dapat menggunakan Oracle Enterprise Manager atau SQL * Plus untuk menjalankan prosedur hire_employees menggunakan pernyataan seperti berikut:
EXECUTE hire_employees ('TSMITH', 'CLERK', 1037, SYSDATE, 500, NULL, 20);
Pernyataan sebelumnya menyisipkan rekor baru untuk TSMITH dalam tabel karyawan.
Sebuah prosedur yang tersimpan tergantung pada objek yang dirujuk dalam tubuhnya. Database secara otomatis melacak dan mengelola dependensi ini. Misalnya, jika Anda mengubah definisi tabel karyawan direferensikan oleh prosedur hire_employees dengan cara yang akan mempengaruhi prosedur ini, maka prosedur harus dikompilasi ulang untuk memvalidasi bahwa itu masih bekerja seperti yang dirancang. Biasanya, database secara otomatis mengelola manajemen ketergantungan tersebut.
Lihat Juga:
Oracle Database PL / SQL Language Reference untuk belajar bagaimana menggunakan PL / SQL subprogram
SQL * Plus Panduan Pengguna dan Referensi untuk belajar tentang Jalankan perintah
PL / SQL Paket
A PL paket / SQL adalah sekelompok subprogram terkait, bersama dengan kursor dan variabel yang mereka gunakan, disimpan bersama-sama dalam database untuk terus digunakan sebagai unit. Subprogram Dikemas bisa disebut secara eksplisit oleh aplikasi atau pengguna.
Oracle Database mencakup banyak paket yang disediakan yang memperluas fungsi database dan menyediakan akses PL / SQL untuk fitur SQL. Misalnya, paket UTL_HTTP memungkinkan callouts HTTP dari PL / SQL dan SQL untuk mengakses data di Internet atau untuk memanggil Oracle Web Server Cartridge. Anda dapat menggunakan paket yang disediakan saat membuat aplikasi atau sebagai sumber ide ketika membuat prosedur sendiri tersimpan.
Keuntungan dari PL Paket / SQL
PL / SQL menyediakan paket keuntungan sebagai berikut:
encapsulation
Paket memungkinkan Anda untuk merangkum atau kelompok prosedur, variabel, jenis data yang disimpan, dan seterusnya dalam bernama, satuan disimpan. Encapsulation memberikan organisasi yang lebih baik selama pengembangan dan fleksibilitas juga lebih. Anda dapat membuat spesifikasi dan referensi prosedur publik tanpa benar-benar menciptakan tubuh paket. Encapsulation menyederhanakan manajemen hak istimewa. Pemberian hak istimewa untuk membuat paket paket membangun diakses penerima beasiswa.
keamanan data
Metode definisi paket memungkinkan Anda untuk menentukan variabel, kursor, dan prosedur yang publik dan swasta. Publik berarti bahwa hal itu langsung diakses oleh pengguna dari sebuah paket. Private berarti bahwa itu tersembunyi dari pengguna paket.
Sebagai contoh, sebuah paket dapat berisi 10 prosedur. Anda dapat menentukan paket sehingga hanya tiga prosedur yang umum dan karena itu tersedia untuk eksekusi oleh pengguna paket. Prosedur tersisa pribadi dan hanya dapat diakses oleh prosedur dalam paket. Jangan bingung variabel paket publik dan swasta dengan hibah untuk UMUM.
kinerja yang lebih baik
Seluruh paket dimuat ke memori dalam potongan kecil ketika prosedur dalam paket disebut untuk pertama kalinya. Beban ini selesai dalam satu operasi, yang bertentangan dengan beban yang terpisah diperlukan untuk prosedur mandiri. Bila panggilan prosedur dikemas terkait terjadi, tidak ada disk I / O yang dibutuhkan untuk menjalankan kode dikompilasi dalam memori.
Sebuah badan paket dapat diganti dan dikompilasi ulang tanpa mempengaruhi spesifikasi. Akibatnya, skema objek yang referensi konstruksi paket ini (selalu melalui spesifikasi) tidak perlu dikompilasi ulang kecuali paket spesifikasi juga diganti. Dengan menggunakan paket, recompilations tidak perlu dapat diminimalkan, sehingga kurang berdampak pada kinerja database secara keseluruhan.
Penciptaan PL Paket / SQL
Anda membuat paket dalam dua bagian: spesifikasi dan tubuh. Paket spesifikasi menyatakan semua konstruksi umum dari paket, sedangkan tubuh mendefinisikan semua konstruksi (publik dan swasta) dari paket.
Contoh 8-1 menunjukkan bagian dari sebuah pernyataan yang menciptakan spesifikasi paket untuk employees_management, yang merangkum beberapa subprogram yang digunakan untuk mengelola database karyawan. Setiap bagian dari paket dibuat dengan pernyataan yang berbeda.
Contoh 8-2 PL / SQL Package
MENCIPTAKAN PAKET employees_management AS
Hire_employees FUNGSI (last_name VARCHAR2, job_id VARCHAR2, NUMBER MANAGER_ID,
NOMOR gaji, NOMOR commission_pct, NOMOR department_id) RETURN NOMOR;
Fire_employees PROSEDUR (employee_id NUMBER);
PROSEDUR salary_raise (NUMBER employee_id, NOMOR salary_incr);
.
.
.
PENGECUALIAN no_sal;
Employees_management END;
Spesifikasi demikianlah hire_employees fungsi, prosedur fire_employees dan salary_raise, dan no_sal pengecualian. Semua ini objek program publik yang tersedia untuk pengguna yang memiliki akses ke paket.
CREATE PACKAGE perintah BODY mendefinisikan objek dinyatakan dalam spesifikasi. Paket body harus dibuat dalam skema yang sama dengan paket. Setelah membuat paket, Anda dapat mengembangkan aplikasi yang memanggil salah satu dari prosedur umum atau fungsi atau meningkatkan salah satu pengecualian umum dari paket.
Lihat Juga:
Oracle Database PL / SQL Language Reference untuk belajar tentang CREATE PACKAGE perintah
Pelaksanaan PL / SQL Package subprogram
Anda dapat referensi isi paket dari pemicu basis data, subprogram disimpan, program aplikasi 3GL, dan alat-alat Oracle. Gambar 8-2 menunjukkan aplikasi database memohon prosedur dan fungsi dalam paket employees_management.
Gambar 8-2 subprogram Memanggil dalam PL / SQL Package
Deskripsi Gambar 8-2 berikut
Deskripsi "Gambar 8-2 Memanggil subprogram dalam PL / SQL Package"
server side programming
Disusun oleh :
Kelompok : 7
ketua : nurul
anggota : Heni
nisa
matin
smk mathlaul anwar cibuah
Tahun Ajaran 2014/2015