Oracle数据库版本 v9.2(32bit)
以下SQL语句在PLSQL Developer v9.0.2.4.0中执行是成功的。
但是在vb6中执行就会出以下错误错 误:ORA-00972: 标识过长
错误号:-2147217900
错误源:OraOLEDB
----------------sql----------------
select bd_psndoc5bd_deptdoc.deptcode As MyFld_1,bd_psndoc5bd_deptdoc.deptname As MyFld_2,Sum(Case When bd_accpsndoc42bd_defdoc.docname in ('汉族') then 1 else 0 end) As MyFld_3,Sum(Case When bd_accpsndoc42bd_defdoc.docname in ('回族') then 1 else 0 end) As MyFld_4 from bd_psndoc,bd_accpsndoc,om_job,om_jobdesc,bd_defdoc bd_accpsndoc42bd_defdoc,bd_deptdoc bd_psndoc5bd_deptdoc where bd_psndoc.dr=0 and bd_accpsndoc.dr=0 and bd_psndoc.pk_psndoc=bd_accpsndoc.pk_psndoc and bd_psndoc.pk_om_job=om_job.pk_om_job(+) and bd_psndoc.pk_om_job=om_jobdesc.pk_om_job(+) And bd_psndoc.pk_corp in('1002') And (1=1) And bd_accpsndoc.nationality=bd_accpsndoc42bd_defdoc.pk_defdoc(+) And bd_psndoc.pk_deptdoc=bd_psndoc5bd_deptdoc.pk_deptdoc(+) group by bd_psndoc5bd_deptdoc.deptcode,bd_psndoc5bd_deptdoc.deptname问题解决立即结贴!谢谢了
以下SQL语句在PLSQL Developer v9.0.2.4.0中执行是成功的。
但是在vb6中执行就会出以下错误错 误:ORA-00972: 标识过长
错误号:-2147217900
错误源:OraOLEDB
----------------sql----------------
select bd_psndoc5bd_deptdoc.deptcode As MyFld_1,bd_psndoc5bd_deptdoc.deptname As MyFld_2,Sum(Case When bd_accpsndoc42bd_defdoc.docname in ('汉族') then 1 else 0 end) As MyFld_3,Sum(Case When bd_accpsndoc42bd_defdoc.docname in ('回族') then 1 else 0 end) As MyFld_4 from bd_psndoc,bd_accpsndoc,om_job,om_jobdesc,bd_defdoc bd_accpsndoc42bd_defdoc,bd_deptdoc bd_psndoc5bd_deptdoc where bd_psndoc.dr=0 and bd_accpsndoc.dr=0 and bd_psndoc.pk_psndoc=bd_accpsndoc.pk_psndoc and bd_psndoc.pk_om_job=om_job.pk_om_job(+) and bd_psndoc.pk_om_job=om_jobdesc.pk_om_job(+) And bd_psndoc.pk_corp in('1002') And (1=1) And bd_accpsndoc.nationality=bd_accpsndoc42bd_defdoc.pk_defdoc(+) And bd_psndoc.pk_deptdoc=bd_psndoc5bd_deptdoc.pk_deptdoc(+) group by bd_psndoc5bd_deptdoc.deptcode,bd_psndoc5bd_deptdoc.deptname问题解决立即结贴!谢谢了
解决方案 »
- 求SQL
- proc 程序连接数据库 ORA-01034: ORACLE not available
- 请问怎样用jdbc和oracle8i8.1.7连接谢谢!
- 在 oracle 网站下载的 Oracle 10g 与购买正版的有什么区别呢?
- 一个关于long类型的问题?
- 关于FAQ的提交
- 怎样用Sql语句建立一个带 自动加一的ID字段的Oracle数据库?
- select * from table where time=SYS.time ? 对不对? 如何得到当天时间输入的记录?
- oracle的update语句有毛病???请问如何解决这个update语句??
- 请问SQLLDR导null空值,一直提示不是ora01722无效数字,向各位求助!
- 关于Solaris下ORACLE的归档日志
- oracle的blob建索引进行全文检索 中文查询不到, 英文可以
Case When 自句只支持9i版本,8i的是没有这个的!
如果确定是版本问题,可以用decode代替一下。
对case when 不能做sum求和,在8i中是支持的啊。
=========================================
执行SQL查询时出错。
错 误:ORA-00907: 缺少右括号
错误号:-2147217900
错误源:OraOLEDB
----------------sql----------------
select T00000000003025.deptcode As MyFld_1,T00000000003025.deptname As MyFld_2,Sum(Case When T00000000003103.docname in ('4岗') then 1 else 0 end) As MyFld_3,Sum(Case When T00000000003103.docname in ('5岗') then 1 else 0 end) As MyFld_4 from bd_psndoc,bd_accpsndoc,om_job,om_jobdesc,bd_defdoc T00000000003103,bd_deptdoc T00000000003025 where bd_psndoc.dr=0 and bd_accpsndoc.dr=0 and bd_psndoc.pk_psndoc=bd_accpsndoc.pk_psndoc and bd_psndoc.pk_om_job=om_job.pk_om_job(+) and bd_psndoc.pk_om_job=om_jobdesc.pk_om_job(+) And bd_psndoc.pk_corp in('1002') And (1=1) And bd_accpsndoc.groupdef15=T00000000003103.pk_defdoc(+) And bd_psndoc.pk_deptdoc=T00000000003025.pk_deptdoc(+) group by T00000000003025.deptcode,T00000000003025.deptname