Oracle
 sql >> Base de données >  >> RDS >> Oracle

Modifier la table, ajouter une colonne / ORA-00984 :colonne non autorisée ici PLSQL

Vous devez utiliser des guillemets simples pour le masque de format :

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

Dans un EXECUTE, ce sera :

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

Notez que vous effectuez des requêtes DDL, vous ne pourrez donc pas annuler les modifications que vous avez apportées. Une restauration n'affecte que les données, pas la structure.

D'ailleurs, pourquoi stockez-vous une date dans un varchar colonne? c'est une mauvaise idée, ce serait bien mieux une date colonne