此问题的原因是因为表的列名称使用了Oracle声明的关键字,列名起的不好引起的. 如果列很多,又不好确定是哪个列名使用了关键字,以下建议可供参考: select * from v$reserved_words where keyword in( select COLUMN_NAME from all_tab_columns where table_name = 'HP_FFS' and owner='用户名大写' ); 除了与oracle关键字段冲突错误外(select * from v$res
1.检查sql书写正确性 2.如果sql书写正确,则是由于数据库列名起的不好引起的,名字用到了数据库的关键字. 如果列很多,又不好确定是哪个列名使用了关键字,以下建议可供参考: 我用以下方法定位 select * from v$reserved_words where keyword in( select COLUMN_NAME from all_tab_columns where table_name = '表名大写' and owner='用户名大写' ); 来自为知笔记(Wiz)
1.查询系统关键 select * from v$reserved_words 确认你使用的是否为关键字: select * from v$reserved_words w where w.KEYWORD='LEVEL'; 2.系统关键字需要加双引号 update UT_MENU set "LEVEL"=2 where menuid=57886 如果这条语句在在sqlplus里面执行,则同样会提示ORA-01747错误,可以到sqlplus命令行里面执行就ok.有知道sqlplus怎
首先引入语句来源,表结构和数据如下: 需求是:查出员工(personname)在不同店铺(store)的总薪酬(salary),相同店铺输出store,不同店铺输出multi_store. 正确查询语句如下: SELECT personname,(case when count(distinct Store)>1 then 'multi_store' else MAX ( store) end),sum(Salary) FROM dbo.StaffInformation GROUP BY Per