sql >> Base de Datos >  >> RDS >> Oracle

Modificar tabla, agregar columna / ORA-00984:columna no permitida aquí PLSQL

Debe usar comillas simples para la máscara de formato:

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

En un EXECUTE, esto será:

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

Tenga en cuenta que está realizando consultas DDL, por lo que no podrá revertir las modificaciones que realizó. Una reversión solo afecta a los datos, no a la estructura.

Además, ¿por qué almacena una fecha en un varchar? ¿columna? es una mala idea, seria mucho mejor una date columna