Migrasikan fungsi dan prosedur Oracle yang memiliki lebih dari 100 argumen ke PostgreSQL - AWS Prescriptive Guidance

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

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

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

TugasDeskripsiKeterampilan 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 dan 14.11 CREATE PROCEDURE Statement dalam dokumentasi Oracle Database.

Pengetahuan Oracle/PLSQL

Kompilasi Oracle/PLSQL fungsi atau prosedur.

Kompilasi Oracle/PLSQL fungsi atau prosedur.

Untuk informasi selengkapnya, lihat Mengompilasi fungsi dalam dokumentasi Oracle Database.

Pengetahuan Oracle/PLSQL

Jalankan Oracle/PLSQL fungsinya.

Jalankan Oracle/PLSQL fungsi atau prosedur. Kemudian, simpan outputnya.

Pengetahuan Oracle/PLSQL
TugasDeskripsiKeterampilan 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 di dokumentasi PostgreSQL.

Pengetahuan PL/pgSQL PostgreSQL
TugasDeskripsiKeterampilan yang dibutuhkan

Buat fungsi PostgreSQL yang mencakup tipe data baru.

Buat fungsi PostgreSQL yang menyertakan argumen baru. TYPE

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

IsuSolusi

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 DECLARE bagian fungsi.

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;