解决Oracle 9i数据库中数据类型不一致的错误

来源:Oracle认证    发布时间:2012-11-12    Oracle认证视频    评论

问:您好,我在Oracle 9i数据库中运行了以下代码:

CREATE OR REPLACE TYPE Persona AS OBJECT( ident varchar2(9), nombr varchar2(30) ); create table tper(per Persona); insert into tper values(Persona('111','Lucas')); select * from tper;


  之后系统通知发生错误:

ORA-00932: inconsistent data type. expected NUMBER get USUT7.PERSONA



  请问问题出在什么地方?我该如何解决?

  答:我在Oracle 11g R2数据库上运行了你的DDL:

CREATE OR REPLACE TYPE Persona as object(    ident varchar2(9), nombr varchar2(30));    create table tper(per Persona);    insert into tper values(Persona('111','Lucas'));    insert into tper values(Persona('AAA','Dan'));    select * from tper;    drop table tper;    drop type Persona;


  得到的结果是正常的,没有出错:

Type created.    Table created.    1 row created.    1 row created.    PER    --------------------------------------------------    (111, Lucas)    (AAA, Dan)    2 rows selected.    Table dropped.    Type dropped.


  我认为你的错误可能是本地化语言设置的问题。我建议你从Oracle 9i升级到Oracle 11g R2。

上一篇: 找到Oracle数据库中性能最差的查询语句
下一篇: VMware vSphere为Oracle数据库虚拟化推新品

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答