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

Modifica tabella, aggiungi colonna / ORA-00984:colonna non consentita qui PLSQL

Devi usare le virgolette singole per la maschera del formato:

ALTER TABLE USUVCB.TVCB_RUT_SII ADD (Fecha_Inicio VARCHAR2(10 BYTE) DEFAULT TO_CHAR(SYSDATE, 'YYYY-MM-DD') NOT NULL);

In un EXECUTE, questo sarà:

execute immediate 'ALTER TABLE USUVCB.TVCB_RUT_SII ADD (Fecha_Inicio VARCHAR2(10 BYTE) DEFAULT TO_CHAR(SYSDATE, ''YYYY-MM-DD'') NOT NULL)';

Nota che stai eseguendo query DDL, quindi non sarai in grado di ripristinare le modifiche apportate. Un rollback riguarda solo i dati, non la struttura.

Inoltre, perché memorizzi una data in un varchar colonna? è una cattiva idea, sarebbe molto meglio una date colonna