修改Oracle 12g中的类型 - 在修改完成后询问DDL输出

修改Oracle 12g中的类型 - 在修改完成后询问DDL输出

问题描述:

这是运行alter类型后的TYPE代码片段。我想知道,如果最后一行(新属性)正确显示或是否需要另一步编译属性:修改Oracle 12g中的类型 - 在修改完成后询问DDL输出

-- 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

咦?不明白。你有错误吗? – OldProgrammer

你的类型的定义之外发出“改变类型”命令(你不“t将其附加到的类型本身)

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

结束时,如果你的类型是终局的,你需要的不是最终(的亚型和这样的)发出以下命令:

alter type testest_type not final cascade; 
+0

是的,就是这样做的,但是当看着蟾蜍的脚本时,命令被追加到原始的类型主体。该属性与其他人一起出现在显示屏中,但编译的脚本就是我所质疑的内容。 –

+0

复制已编译的脚本并执行它(最好在另一个数据库上)会告诉你是否有语法错误。 Toad可能存在问题。我们没有足够的信息。 –