Oracle关联查询时对关联字段的数据类型要求Oracle认证考试
文章作者 100test 发表时间 2009:05:02 15:25:04
来源 100Test.Com百考试题网
在ORACLE中进行关联查询时,作为关联查询的两字段数据类型要一至,否则会报:
ORA-01722:invalid number
这样的错误,如下查询语句:
0select * from A a,B b where a.loginid=b.userid.
如果a.loginid的数据类型为:number(n),而b.userid的数据类型为:varchar2(n),则会报上面的错误,要二者为同一数据类型,上面的查询语句才能正确的被执行,平时可能在做一些查询统计时没注意这些问题(可能表结构是别人事先已经建好了的,而我们只是去使用而于),所以当我们在设计表结构时,如果以后某两表(或多表)之间存在关联关系,即查询相关数据时,要关联它们之间的某些字段,这时我们就要注意了,要将到时可能用于关联查询的字段的数据类型设计为相同的类型,当然字段长度可以不一样,这样到时关联查询时就不会有问题了,否则以后还要改字段数据类型,而且此时表中又有了数据,为了防止数据丢失,改起来还有点麻烦.
这种问题在ORACLE关系数据库中会出现,在其它关系数据库中不知道会不会出现,猜测可能也会有类似问题.
注:这可能是一个很简单的问题,但这确可能是很容易忽视的问题,有时在设计表结构时,可能会由于考虑不周,造成以后要关联查询相关数据时出现上面的错误,从而要去改变表的字段类型,从而带来一些不必要的麻烦.
更多优质资料尽在百考试题论坛 百考试题在线题库