Abilita vincolo sulla tabella di flashback Oracle
Domanda
Ho eseguito una funzione di copia dei dati in rospo che disabilitato tutti i vincoli e poi fallito.
che mi ha lasciato con un gruppo di vincoli disabili. La maggior parte di loro sono stato in grado di consentire con successo, ma quelli flashback stanno dando i miei attacchi proc memorizzato.
Domande:
1) E 'necessario riattivare i vincoli sui tavoli flashback? La mia ipotesi è che se non sono abilitati e flashback viene utilizzato, sarebbero disabilitati quando la tabella viene ripristinato, quindi sì, dovrebbero essere riattivate.
2) L'errore che ottengo è ORA-01.735: opzione di tabella non valido alter
.EXECUTE IMMEDIATE
'ALTER TABLE'||' '||l_table_name||' '||'ENABLE CONSTRAINT'||'
'||l_Constraint_name;
La mia ipotesi è che il ==$0
nel nome della tabella sta causando problemi, e ho bisogno di racchiuderlo tra doppi apici. Tuttavia, i miei tentativi di fare così:
EXECUTE IMMEDIATE
'ALTER TABLE'||' ""'||l_table_name||'"" '||'ENABLE CONSTRAINT'||'
'||l_Constraint_name;
anche omesso. Qual è la sintassi corretta? O sto abbaiare contro l'albero sbagliato su ciò che l'errore è in realtà?
Soluzione
Come su:
EXECUTE IMMEDIATE
'ALTER TABLE'||' ""'||l_table_name||'"" '||'ENABLE CONSTRAINT'||'
"'||l_Constraint_name||'"';