Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Alterar tabela, adicionar coluna/ORA-00984:coluna não permitida aqui PLSQL


Você precisa usar aspas simples para a 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);

Em um EXECUTE, isso será:
execute immediate 'ALTER TABLE USUVCB.TVCB_RUT_SII ADD (Fecha_Inicio VARCHAR2(10 BYTE) DEFAULT TO_CHAR(SYSDATE, ''YYYY-MM-DD'') NOT NULL)';

Observe que você está fazendo consultas DDL, portanto, não poderá reverter as modificações feitas. Uma reversão afeta apenas os dados, não a estrutura.

Além disso, por que você armazena uma data em um varchar coluna? é uma má ideia, seria muito melhor uma date coluna