高分提问 9i和11g的sql语法上有哪些改变? 系统原来用的是9i,现在换到11g。结果一些sql查询出错了,大部分是重复列名,没有指定所属表名,可见11g更严格了。sql语法的变化,由于更严格,可能导致错误。请问都有哪些变化, 额外有什么要注意的? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使其也没那么夸张是你写脚本的不规范导致的一个软件的版本升级,都会向下兼容的,所以9i的语法在10g,11g中都是兼容的,只会扩展出一些新的语法,不会对老版本原有东西有什么影响特别是sql语句。我不明白的是你那个sql在9i里是怎么编译通过的。 有哪些改变,查下10g新特性就知道了楼主的问题应该与版本无关当表连接的查询字段没写所属表名的时候,若该字段只在其中一个表里有,会自动查找所属表,若在不止一个表里都有该字段,9i应该也会报错的除非用join .. using()的写法,不要加表名一般还是写上表名为好,嫌麻烦的话起个表别名增强逻辑和可读性 谢谢各位,已经确认是oracle的bug,11g后续版本已经fix。还是非常感谢大家,现在安心多了。 lz能描述的更清楚一些么,以后大家看到此类问题也就知道是bug叻。 在这里有描述:http://www.dbforums.com/oracle/1644379-ambiguity-select-statements-views.html#post6408526 RAC OracleCSService 服务无法启动 触发器动态获取列名 请教多表查询语句写法? PL/SQL处理XML的问题 在一个字段上同时建立函数索引和普通索引 pb + orcale9i的问题 请各位达人帮忙 sql:查询时间最大的记录 关于用B表更新和插入A表的问题,请指教. 一个存储过程的问题,请问怎么解决?谢谢. 执行了一个存储过程超时后,再对其他表delete或update sqlplus就没响应了?? 存储过程调用失败会有返回值吗? 这样的sql语句该怎样写?
是你写脚本的不规范导致的一个软件的版本升级,都会向下兼容的,所以9i的语法在10g,11g中都是兼容的,只会扩展出一些新的语法,不会对老版本原有东西有什么影响特别是sql语句。我不明白的是你那个sql在9i里是怎么编译通过的。
楼主的问题应该与版本无关
当表连接的查询字段没写所属表名的时候,若该字段只在其中一个表里有,会自动查找所属表,若在不止一个表里都有该字段,9i应该也会报错的
除非用join .. using()的写法,不要加表名
一般还是写上表名为好,嫌麻烦的话起个表别名
增强逻辑和可读性
还是非常感谢大家,现在安心多了。
lz能描述的更清楚一些么,以后大家看到此类问题也就知道是bug叻。
http://www.dbforums.com/oracle/1644379-ambiguity-select-statements-views.html#post6408526