一个sql的问题, 在不同的机器上就报错, 很奇怪

lbx1979 2007-11-26 10:15:04
UPDATE TMPYSYSDWFXCAB8F44415 A
SET F_DXMC002 = ' ', F_DXBH002 = ' '
WHERE A.F_DXBH002 || A.F_FJNM NOT IN
(SELECT DISTINCT C.F_DXBH002 || T.NM
FROM TMPYSYSDWFXCAB8F44415 C,
(SELECT MIN(B.F_FJNM) AS NM
FROM TMPYSYSDWFXCAB8F44415 B
WHERE B.F_DXBH002 = A.F_DXBH002) T)

在我的本地数据库上一点问题就没有
但是在客户的数据库上执行就报错, ORA-00904: 'A'.'F_DXBH002': 无效的标识符
啥原因呢
客户端都是10g, 不同的是服务器端, 他的是9i,我的是10g
...全文
174 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
多壮志 2007-11-29
  • 打赏
  • 举报
回复
9i会有这种问题,这格式没有办法解决的,你只有升级到10g或者看看更高的9i补丁是否可行,再不行就只能修改实现方式了。
david_xu322 2007-11-29
  • 打赏
  • 举报
回复
两边表结构不一样的可能性最大
DragonBill 2007-11-29
  • 打赏
  • 举报
回复
原因两点
1, A/B两表的F_DXBH002数据类型不一样
2, 客户端执行环境下所连服务器中的A表不存在F_DXBH002字段
难得糊涂糊涂 2007-11-27
  • 打赏
  • 举报
回复
报错是之最后一行A.F_DXBH002的错误!在where语句里这些写好像数据库不能知道A代表啥意思!
camio007 2007-11-27
  • 打赏
  • 举报
回复
你所执行的这个语句涉及到的表在两个服务器里面的结构和字段名是否都一样呢 ?
ruihuahan 2007-11-27
  • 打赏
  • 举报
回复
不同的是服务器端
==================
检查一下表结构,字段名称时候一致
hongqi162 2007-11-27
  • 打赏
  • 举报
回复
肯定是环境问题检查一下客户的数据库是否有F_DXBH002
Croatia 2007-11-27
  • 打赏
  • 举报
回复
两个环境的表结构是什么样子的呢?
jinxfei 2007-11-26
  • 打赏
  • 举报
回复
仔细比对一下字段名?

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧