Oracle 如何将类型更新为另一个表中的数据类型引用
实际上,表My_abc创建为Oracle 如何将类型更新为另一个表中的数据类型引用,oracle,types,reference,Oracle,Types,Reference,实际上,表My_abc创建为 create or replace type My_abc_typ FORCE as object ( ... Pqr pqr_typ, ... ) / 还有主键和索引 问题在于类型我更改了特定列的数据类型,并编译了它。。。工作正常。 但表格并没有反映出变化。。。它的表演 CREATE TABLE "ABC"."My_abc" OF "ABC"."My_abc_TYP" (... , ...) 为了单独修改该列,我执行了以下查询 (
create or replace type My_abc_typ FORCE as object
(
...
Pqr pqr_typ,
...
)
/
还有主键和索引
问题在于类型我更改了特定列的数据类型,并编译了它。。。工作正常。
但表格并没有反映出变化。。。它的表演
CREATE TABLE "ABC"."My_abc" OF "ABC"."My_abc_TYP"
(... ,
...)
为了单独修改该列,我执行了以下查询
(
...
Pqr (null),
...
)
出现以下错误
SQL错误:ORA-04063:表ABC.My_ABC有错误
406300000-%s有错误
*原因:尝试执行存储过程或使用具有
错误。对于存储过程,问题可能是语法错误
或引用其他不存在的程序。关于意见,
问题可能是视图的定义查询中对
一张不存在的桌子。
也可以是引用不存在或不存在的表
无法访问的类型。
*措施:修复错误和/或根据需要创建引用对象
而不是重新创建类型: 将“类型”属性修改为:
alter table My_abc modify Pqr pqr_typ;
链接:
谢谢。不,它已经存在了。。。语法是tat。。。。
ALTER TYPE my_abc_typ MODIFY ATTRIBUTE (pqr VARCHAR2(20))CASCADE NOT INCLUDING TABLE DATA;