DB2里列名为USER,是保留字段?出现了奇怪的问题

play100 2015-09-01 05:14:14
近期正在做一个项目的数据库迁移工作,由MYSQL移到DB2里

有很多的表里存在'USER'列,建表可以正常创建,表编辑窗口也能正常录入数据;
表浏览窗口数据显示正常;
但再次打开表编辑窗口->USER列显示的全是'db2admin'即当前的连接用户名,此时更改任务内容都不可保存成功!

在SQL脚本中,执行查询语句时:
WHERE无条件,正常显示数据;
WHERE其他条件,正常显示数据;
WHERE带上USER条件,查询出错【在函数 "DECFLOAT" 的字符串自变量中找到无效字符。. SQLCODE=-420, SQLSTATE=22018, DRIVER=3.63.108】;

一,改字段名,涉及太多表了,工作太大;
二,使用表的别名,如select * from table a where a.user=1 ,原来的很多的逻辑代码要改,多出很多无意义的字符串处理

有没有更简单有效的处理方式?我用的是DB2-10.1,USER是保留字段。。。?

...全文
1465 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
文修 2015-11-10
  • 打赏
  • 举报
回复
楼主你好, 楼上几位都有道理,在下当前也没有好的办法,试试强制转换user的类型或者请教更专业的DBA吧
whf5566 2015-11-10
  • 打赏
  • 举报
回复
user是保留字,db2 "select user from sysadmin.sysdummy1" 显示的是当然用户名,试试强制转换吧
sifadmwy 2015-09-28
  • 打赏
  • 举报
回复
看看user字段是什么类型 强转试试看

5,891

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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