Migrare le funzioni e le procedure Oracle con più di 100 argomenti a Postgre SQL - Prontuario AWS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Migrare le funzioni e le procedure Oracle con più di 100 argomenti a Postgre SQL

Creato da Srinivas Potlachervoo () AWS

Ambiente: PoC o pilota

Fonte: Oracle

Obiettivo: Postgre SQL

Tipo R: Replatform

Carico di lavoro: open source; Oracle

Tecnologie: database; migrazione

AWSservizi: AmazonRDS; Amazon Aurora

Riepilogo

Questo modello mostra come migrare le funzioni e le procedure di Oracle Database con più di 100 argomenti su Postgre. SQL Ad esempio, è possibile utilizzare questo modello per migrare le funzioni e le procedure Oracle a uno dei seguenti servizi di database compatibili con SQL Postgre: AWS

  • Amazon Relational Database Service (RDSAmazon) per Postgre SQL

  • Amazon Aurora SQL Postgre - Edizione compatibile

Postgre SQL non supporta funzioni o procedure con più di 100 argomenti. Come soluzione alternativa, puoi definire un nuovo tipo di dati con campi di tipo che corrispondono agli argomenti della funzione di origine. Quindi, è possibile creare ed eseguire una SQL funzione PL/pg che utilizza il tipo di dati personalizzato come argomento.

Prerequisiti e limitazioni

Prerequisiti

Versioni del prodotto

  • Istanza Amazon RDS Oracle DB versioni 10.2 e successive

  • Istanza SQL DB Amazon RDS Postgre versioni 9.4 e successive oppure istanze DB compatibili con Aurora Postgre 9.4 e SQL successive

  • SQLOracle Developer versione 18 e successive

  • pgAdmin versione 4 e successive

Architettura

Stack tecnologico di origine

  • Istanza Amazon RDS Oracle DB versioni 10.2 e successive

Stack tecnologico Target

  • Istanza SQL DB Amazon RDS Postgre versioni 9.4 e successive oppure istanze DB compatibili con Aurora Postgre 9.4 e SQL successive

Strumenti

AWSservizi

Altri servizi

  • Oracle SQL Developer è un ambiente di sviluppo integrato che semplifica lo sviluppo e la gestione dei database Oracle nelle implementazioni tradizionali e basate sul cloud.

  • pgAdminè uno strumento di gestione open source per Postgre. SQL Fornisce un'interfaccia grafica che consente di creare, gestire e utilizzare oggetti di database.

Best practice

Assicuratevi che il tipo di dati che create corrisponda ai campi di tipo inclusi nella funzione o procedura Oracle di origine.

Epiche

AttivitàDescrizioneCompetenze richieste

Crea o identifica una PLSQL funzione o procedura Oracle/ esistente con più di 100 argomenti.

Creare una PLSQL funzione o una procedura Oracle/ con più di 100 argomenti.

oppure

Identifica una PLSQL funzione o procedura Oracle/ esistente con più di 100 argomenti.

Per ulteriori informazioni, vedere le sezioni 14.7 CREATE FUNCTION Statement e 14.11 CREATE PROCEDURE Statement nella documentazione del database Oracle.

Oracle/ conoscenza PLSQL

Compilare la funzione o la procedura Oracle/PLSQL.

Compilare la funzione o la procedura Oracle/. PLSQL

Per ulteriori informazioni, vedere Compilazione di una funzione nella documentazione del database Oracle.

PLSQLOracle/ conoscenza

Esegui la funzione Oracle/. PLSQL

Eseguire la funzione o la procedura Oracle/PLSQL. Quindi, salva l'output.

Oracle/conoscenza PLSQL
AttivitàDescrizioneCompetenze richieste

Definisci un nuovo tipo di dati in SQL Postgre.

Definisci un nuovo tipo di dati in Postgre SQL che includa tutti gli stessi campi che compaiono negli argomenti della funzione o procedura Oracle di origine.

Per ulteriori informazioni, consulta la documentazione CREATETYPEdi SQL Postgre.

Conoscenza di SQL Postgre PL/PG SQL
AttivitàDescrizioneCompetenze richieste

Crea una SQL funzione Postgre che includa il nuovo tipo di dati.

Crea una SQL funzione Postgre che includa il nuovo argomento. TYPE

Per esaminare una funzione di esempio, consulta la sezione Informazioni aggiuntive di questo modello.

Conoscenza di Postgree Pl/PG SQL SQL

Compila la funzione Postgre. SQL

Compila la funzione in Postgre. SQL Se i nuovi campi del tipo di dati corrispondono agli argomenti della funzione o della procedura di origine, la funzione viene compilata correttamente.

Conoscenza di SQL Postgree PL/PG SQL

Esegui la funzione Postgre. SQL

Esegui la funzione SQL Postgre.

Conoscenza di SQL Postgre PL/pG SQL

Risoluzione dei problemi

ProblemaSoluzione

La funzione restituisce il seguente errore:

ERROR: errore di sintassi vicino a «» <statement>

Assicuratevi che tutte le istruzioni della funzione terminino con un punto e virgola (). ;

La funzione restituisce il seguente errore:

ERROR: «» non è una variabile nota <variable>

Assicurati che la variabile utilizzata nel corpo della funzione sia elencata nella DECLARE sezione della funzione.

Risorse correlate

Informazioni aggiuntive

Esempio di SQL funzione Postgre che include un argomento 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;