Oracle
 sql >> Database >  >> RDS >> Oracle

Punto e virgola mancante dopo l'estrazione di DDL tramite script ksh

Devi modificare l'impostazione SQLTERMINATOR dal valore predefinito false a true, operazione che puoi eseguire con un blocco PL/SQL anonimo prima della query:

BEGIN
  DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,
    'SQLTERMINATOR', true);
END;
/
SELECT DBMS_METADATA.GET_DDL('TABLESPACE','$srcTablespace') FROM DUAL;

Oppure puoi usare exec SQL*Plus abbreviazione ma l'intera chiamata deve essere su una linea singola.

Vedi il dbms_metadata documentazione per ulteriori informazioni sul set_transform_param procedura.