Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Migrasikan fungsi dan prosedur Oracle yang memiliki lebih dari 100 argumen ke PostgreSQL
Srinivas Potlachervoo, Amazon Web Services
Ringkasan
Pola ini menunjukkan cara memigrasikan fungsi dan prosedur Oracle Database yang memiliki lebih dari 100 argumen ke PostgreSQL. Misalnya, Anda dapat menggunakan pola ini untuk memigrasikan fungsi dan prosedur Oracle ke salah satu layanan database AWS yang kompatibel dengan PostgreSQL berikut:
Amazon Relational Database Service (Amazon RDS) untuk PostgreSQL
Edisi yang Kompatibel dengan Amazon Aurora PostgreSQL
PostgreSQL tidak mendukung fungsi atau prosedur yang memiliki lebih dari 100 argumen. Sebagai solusinya, Anda dapat menentukan tipe data baru yang memiliki bidang tipe yang cocok dengan argumen fungsi sumber. Kemudian, Anda dapat membuat dan menjalankan PL/pgSQL fungsi yang menggunakan tipe data kustom sebagai argumen.
Prasyarat dan batasan
Prasyarat
Akun AWS yang aktif
Instans Amazon RDS for PostgreSQL DB atau instans DB yang kompatibel
dengan Aurora PostgreSQL
Versi produk
Amazon RDS Oracle DB instans versi 10.2 dan yang lebih baru
Instans Amazon RDS PostgreSQL DB versi 9.4 dan yang lebih baru, atau instans DB yang kompatibel dengan Aurora PostgreSQL versi 9.4 dan yang lebih baru
Oracle SQL Developer versi 18 dan yang lebih baru
pgAdmin versi 4 dan yang lebih baru
Arsitektur
Tumpukan teknologi sumber
Amazon RDS Oracle DB instans versi 10.2 dan yang lebih baru
Tumpukan teknologi target
Instans Amazon RDS PostgreSQL DB versi 9.4 dan yang lebih baru, atau instans DB yang kompatibel dengan Aurora PostgreSQL versi 9.4 dan yang lebih baru
Alat
Layanan AWS
Amazon Relational Database Service (Amazon RDS) untuk PostgreSQL membantu Anda mengatur, mengoperasikan, dan menskalakan database relasional PostgreSQL di AWS Cloud.
Amazon Aurora PostgreSQL Compatible Edition adalah mesin database relasional yang dikelola sepenuhnya dan sesuai dengan ACID yang membantu Anda mengatur, mengoperasikan, dan menskalakan penerapan PostgreSQL.
Layanan lainnya
Oracle SQL Developer
adalah lingkungan pengembangan terintegrasi yang menyederhanakan pengembangan dan pengelolaan database Oracle baik dalam penerapan tradisional maupun berbasis cloud. pgAdmin
adalah alat manajemen sumber terbuka untuk PostgreSQL. Ini menyediakan antarmuka grafis yang membantu Anda membuat, memelihara, dan menggunakan objek database.
Praktik terbaik
Pastikan tipe data yang Anda buat cocok dengan bidang tipe yang disertakan dalam fungsi atau prosedur Oracle sumber.
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Membuat atau mengidentifikasi Oracle/PLSQL fungsi atau prosedur yang ada yang memiliki lebih dari 100 argumen. | Buat Oracle/PLSQL fungsi atau prosedur yang memiliki lebih dari 100 argumen. -atau- Identifikasi Oracle/PLSQL fungsi atau prosedur yang ada yang memiliki lebih dari 100 argumen. Untuk informasi selengkapnya, lihat bagian 14.7 CREATE FUNCTION Statement | Pengetahuan Oracle/PLSQL |
Kompilasi Oracle/PLSQL fungsi atau prosedur. | Kompilasi Oracle/PLSQL fungsi atau prosedur. Untuk informasi selengkapnya, lihat Mengompilasi fungsi | Pengetahuan Oracle/PLSQL |
Jalankan Oracle/PLSQL fungsinya. | Jalankan Oracle/PLSQL fungsi atau prosedur. Kemudian, simpan outputnya. | Pengetahuan Oracle/PLSQL |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Tentukan tipe data baru di PostgreSQL. | Tentukan tipe data baru di PostgreSQL yang mencakup semua bidang yang sama yang muncul dalam argumen fungsi atau prosedur Oracle sumber. Untuk informasi selengkapnya, lihat CREATE TYPE | Pengetahuan PL/pgSQL PostgreSQL |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Buat fungsi PostgreSQL yang mencakup tipe data baru. | Buat fungsi PostgreSQL yang menyertakan argumen baru. Untuk meninjau fungsi contoh, lihat bagian Informasi tambahan dari pola ini. | Pengetahuan PL/pgSQL PostgreSQL |
Kompilasi fungsi PostgreSQL. | Kompilasi fungsi di PostgreSQL. Jika bidang tipe data baru cocok dengan argumen fungsi sumber atau prosedur, maka fungsi berhasil dikompilasi. | Pengetahuan PL/pgSQL PostgreSQL |
Jalankan fungsi PostgreSQL. | Jalankan fungsi PostgreSQL. | Pengetahuan PL/pgSQL PostgreSQL |
Pemecahan Masalah
| Isu | Solusi |
|---|---|
Fungsi mengembalikan kesalahan berikut: KESALAHAN: kesalahan sintaks di dekat "" <statement> | Pastikan bahwa semua pernyataan fungsi diakhiri dengan titik koma (). |
Fungsi mengembalikan kesalahan berikut: ERROR: "" bukan variabel yang diketahui <variable> | Pastikan bahwa variabel yang digunakan dalam badan fungsi tercantum dalam |
Sumber daya terkait
Informasi tambahan
Contoh fungsi PostgreSQL yang mencakup argumen TYPE
CREATE OR REPLACE FUNCTION test_proc_new ( IN p_rec type_test_proc_args ) RETURNS void AS $BODY$ BEGIN /* ************** The body would contain code to process the input values. For our testing, we will display couple of values. *************** */ RAISE NOTICE USING MESSAGE = CONCAT_WS('', 'p_acct_id: ', p_rec.p_acct_id); RAISE NOTICE USING MESSAGE = CONCAT_WS('', 'p_ord_id: ', p_rec.p_ord_id); RAISE NOTICE USING MESSAGE = CONCAT_WS('', 'p_ord_date: ', p_rec.p_ord_date); END; $BODY$ LANGUAGE plpgsql COST 100;