2017-09-15 3 views
0

Ceci est un extrait du TYPE après que le type alter a été exécuté. Je me demande si la dernière ligne (nouvel attribut) montre correctement ou si une autre étape est nécessaire pour compiler l'attribut:Modifier le type dans Oracle 12g - interroger la sortie DDL après la modification

-- academic status code 
ACADEMIC_STATUS_CODE VARCHAR2(2), 

-- constructor 
constructor function TESTTEST_TYPE return self as result, 

-- function to keep versions sync'ed 
member function fast_version return varchar2, 

--member method to put everything to dbms_output 
MEMBER PROCEDURE PRINT_TO_DBMS_OUT, 

--member method to put everything to dbms_output 
MEMBER PROCEDURE PRINT_TO_DBMS_OUT_HELPER(
     spaces_to_indent_in__ IN number, recursion_level_in__ IN number) 

) INSTANTIABLE NOT FINAL 
alter type testtest_type 
    add attribute (STUDENT_PREFERRED_PRONOUN VARCHAR2(50)) cascade 
/
+0

Huh? Ne comprend pas. Avez-vous une erreur? – OldProgrammer

Répondre

0

Vous émettez une commande « modifier le type » en dehors de la définition du type (vous n « t ajouter à la fin du du type lui-même)

alter type testtest_type add attribute (STUDENT_PREFERRED_PRONOUN VARCHAR2(50)); 

Si votre type est définitive et vous en avez besoin PAS fINAL (pour les sous-types et autres) délivrer les éléments suivants:

alter type testest_type not final cascade; 
+0

Oui, c'est ce qui a été fait, mais en regardant le script dans Toad, la commande a été ajoutée au corps de type d'origine. L'attribut apparaît avec d'autres dans l'affichage, mais le script compilé est ce que je remettais en question. –

+0

Copier le script compilé et l'exécuter (de préférence sur une autre base de données) vous indiquera s'il y a une erreur de syntaxe. Il est possible qu'il y ait un problème avec Toad. Nous n'avons pas assez d'informations. –