Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 如何将类型更新为另一个表中的数据类型引用_Oracle_Types_Reference - Fatal编程技术网

Oracle 如何将类型更新为另一个表中的数据类型引用

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" (... , ...) 为了单独修改该列,我执行了以下查询 (

实际上,表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" 
(... ,
...)
为了单独修改该列,我执行了以下查询

(
  ...
  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;