Apa itu Stored Procedure?
Stored procedure adalah sekumpulan pernyataan Structured Query Language (SQL) yang diberi nama dan disimpan dalam sistem manajemen basis data relasional (RDBMS) sebagai satu grup, sehingga bisa digunakan kembali dan dibagikan oleh berbagai program.
Stored procedure dapat mengakses atau mengubah data dalam sebuah database, tetapi tidak terikat pada satu database atau objek tertentu, sehingga menawarkan banyak keuntungan.
Keuntungan Menggunakan Stored Procedure
Stored procedure memberikan lapisan keamanan antara antarmuka pengguna dan database. Ini membantu dalam kontrol akses data, karena pengguna akhir dapat memasukkan atau mengubah data tetapi tidak dapat menulis prosedur. Stored procedure juga menjaga integritas data, karena informasi dimasukkan dengan cara yang konsisten. Selain itu, stored procedure meningkatkan produktivitas karena pernyataan SQL hanya perlu ditulis sekali.
Stored procedure memiliki keunggulan dibandingkan dengan menyematkan query langsung di dalam graphical user interface (GUI). Karena stored procedure bersifat modular, lebih mudah untuk melakukan troubleshooting jika terjadi masalah pada aplikasi. Stored procedure juga dapat dioptimalkan tanpa perlu mengubah source code GUI untuk meningkatkan performa.
Menggunakan stored procedure dapat mengurangi lalu lintas jaringan antara klien dan server, karena semua perintah dieksekusi dalam satu batch kode. Ini berarti hanya panggilan untuk mengeksekusi prosedur yang dikirim melalui jaringan, bukan setiap baris kode secara individual.
Stored Procedure dalam SQL
Stored procedure di SQL Server dapat menerima parameter input dan mengembalikan beberapa nilai output. Stored procedure di SQL Server berisi pernyataan yang digunakan untuk melakukan operasi dalam database dan mengembalikan status ke prosedur atau batch pemanggil.
Stored procedure yang dibuat pengguna bisa disimpan dalam database yang telah ditentukan pengguna atau di semua database sistem, kecuali database hanya-baca. Stored procedure ini ditulis dalam Transact-SQL (T-SQL). Ada juga prosedur sementara yang disimpan dalam tempdb dan terbagi menjadi dua jenis: lokal dan global. Prosedur lokal hanya bisa dilihat oleh koneksi pengguna saat ini, sedangkan prosedur global bisa diakses oleh pengguna lain setelah dibuat.
Stored procedure sistem disediakan oleh SQL Server dan disimpan dalam database internal yang tersembunyi. Mereka muncul dalam skema SYS dari setiap sistem serta database yang dibuat pengguna.

Stored Procedure dalam Oracle
Bahasa database Oracle, PL/SQL, terdiri dari stored procedure yang digunakan untuk membangun aplikasi dalam database Oracle. Stored procedure ini membantu profesional IT dalam menulis dan menguji kode secara efisien. Setelah dikompilasi, program yang disimpan ini menjadi stored procedure yang siap digunakan.
Stored procedure di Oracle mengikuti struktur dasar blok PL/SQL yang terdiri dari tiga bagian: deklarasi, eksekusi, dan penanganan kesalahan.
Perbedaan Stored Procedure dan Function
Stored procedure dan function dapat digunakan untuk tugas yang sama. Keduanya bisa didefinisikan sesuai kebutuhan aplikasi, tetapi function dirancang untuk mengembalikan output ke query atau pernyataan T-SQL. Stored procedure dirancang untuk mengembalikan output ke aplikasi, sedangkan function mengembalikan variabel tabel dan tidak bisa mengubah lingkungan server atau sistem operasi.