起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2810|回复: 9

[结贴] 后台执行KSQL报错

[复制链接]

13

主题

86

帖子

182

积分

初级会员

Rank: 2

积分
182
QQ
发表于 2017-2-16 14:56:18 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
执行KSQL报错,但我在数据库里面是可以执行的,数据库是sqlserver2012。以下是ksql代码:

update hr_month_salary ss set ss.fDJBX = a.GRtotal from hr_month_salary as b,(SELECT fNY,fYGBH,fYGXM,sum(fGRJN) as GRtotal FROM hr_scocial where fNY = '2016年8月' group by fNY,fYGBH,fYGXM)as a where b.fNF = '2016' and b.fYF = '8' and b.fYGBH = a.fYGBH


帮看一下是什么原因啊?

13

主题

86

帖子

182

积分

初级会员

Rank: 2

积分
182
QQ
 楼主| 发表于 2017-2-16 15:13:00 | 显示全部楼层
改成KQL该怎么改?
回复 支持 反对

使用道具 举报

1

主题

1831

帖子

821

积分

高级会员

Rank: 4

积分
821
QQ
发表于 2017-2-16 15:31:47 | 显示全部楼层
参考KSQL语法

QQ截图20170216153232.png
回复 支持 反对

使用道具 举报

13

主题

86

帖子

182

积分

初级会员

Rank: 2

积分
182
QQ
 楼主| 发表于 2017-2-16 15:36:05 | 显示全部楼层

这个我看了,但是例子写的子查询比较简单,不明白向我这个该怎么改
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35918
发表于 2017-2-16 16:25:31 | 显示全部楼层
报错发完整的错误信息
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

13

主题

86

帖子

182

积分

初级会员

Rank: 2

积分
182
QQ
 楼主| 发表于 2017-2-16 16:27:24 | 显示全部楼层
jishuang 发表于 2017-2-16 16:25
报错发完整的错误信息

调用失败!执行KSQL出错, KSQL: update hr_month_salary a set a.fDJBX = (select fDJBX from (SELECT fNY,fYGBH,fYGXM,sum(fGRJN) as fDJBX FROM hr_scocial p where p.fNY = '2016年8月' group by p.fNY,p.fYGBH,p.fYGXM) as b) where a.fNF = '2016' and a.fYF = '8' and a.fYGBH = b.fYGBH
Error: 调用失败!执行KSQL出错, KSQL: update hr_month_salary a set a.fDJBX = (select fDJBX from (SELECT fNY,fYGBH,fYGXM,sum(fGRJN) as fDJBX FROM hr_scocial p where p.fNY = '2016年8月' group by p.fNY,p.fYGBH,p.fYGXM) as b) where a.fNF = '2016' and a.fYF = '8' and a.fYGBH = b.fYGBH
at Object.justep.Request.sendBizRequest2.callback (http://127.0.0.1:6060/x5/UI/v_2b ... nguage=zh_CN:113:12)
at cbf (http://127.0.0.1:6060/x5/v_0d1f4 ... guage=zh_CN:1:65375)
at Object.sendRequest2 (http://127.0.0.1:6060/x5/v_0d1f4 ... guage=zh_CN:1:65619)
at Object.sendBizRequest2 (http://127.0.0.1:6060/x5/v_0d1f4 ... guage=zh_CN:1:92086)
at Object.mainActivity.trigger2Click (http://127.0.0.1:6060/x5/UI/v_2b ... nguage=zh_CN:106:18)
at .callFunction (http://127.0.0.1:6060/x5/UI/v_89 ... language=zh_CN&$version=53ed2cda-f00a-43be-80aa-a61a9765c65d:808:119)
at .run (http://127.0.0.1:6060/x5/v_0dacf ... uage=zh_CN:1:147984)
at .exec_ (http://127.0.0.1:6060/x5/v_0dacf ... uage=zh_CN:1:331534)
at .execute (http://127.0.0.1:6060/x5/v_0dacf ... uage=zh_CN:1:447916)
at Function.forEach (http://127.0.0.1:6060/x5/v_0dacf ... uage=zh_CN:1:162989)

又改了一下,上面是完整报错信息
回复 支持 反对

使用道具 举报

13

主题

86

帖子

182

积分

初级会员

Rank: 2

积分
182
QQ
 楼主| 发表于 2017-2-16 16:47:28 | 显示全部楼层
后台异常是这样,应该是语法不对,但我看不出哪里不对也不知道怎么改
Caused by: com.justep.exception.BusinessException: 编码: JUSTEP150210; 提示: 执行KSQL出错, KSQL: update hr_month_salary a set a.fDJBX = (select fDJBX from (SELECT fNY,fYGBH,fYGXM,sum(fGRJN) AS fDJBX FROM hr_scocial p where p.fNY = '2016年8月' group by p.fNY,p.fYGBH,p.fYGXM) AS b) where a.fNF = '2016' and a.fYF = '8' and a.fYGBH = b.fYGBH
        at com.justep.exception.BusinessException.create(Unknown Source)
        at com.justep.system.data.impl.TableUtilsImplement.ksqlUpdate(Unknown Source)
        at com.justep.system.data.impl.TableUtilsImplement.ksqlExecuteUpdate(Unknown Source)
        at com.justep.system.data.KSQL.executeUpdate(Unknown Source)
        at com.justep.system.data.KSQL.executeUpdate(Unknown Source)
        at com.justep.system.data.KSQL.executeUpdate(Unknown Source)
        at Salary.updateDJBXandGJJ(Salary.java:1420)
        ... 27 more
Caused by: com.justep.exception.KSQLException: 编码: JUSTEP154115; 提示: KSQL语法错误, fYGBH,p.fYGXM) ^^AS b) where a.f中未找到需要的元素, 位置176期望是<Identifier>
        at com.justep.exception.KSQLException.create(Unknown Source)
        at com.justep.system.ksql.token.TokenManager.matchToken(Unknown Source)
        at com.justep.system.ksql.token.TokenManager.match(Unknown Source)
        at com.justep.system.ksql.parser.AbstractParser.joinedExpression(Unknown Source)
        at com.justep.system.ksql.parser.AbstractParser.fromNode(Unknown Source)
        at com.justep.system.ksql.parser.AbstractParser.selectSentenceNode(Unknown Source)
        at com.justep.system.ksql.parser.AbstractParser.selectSentenceNode(Unknown Source)
        at com.justep.system.ksql.parser.AbstractParser.unaryExpression(Unknown Source)
        at com.justep.system.ksql.parser.AbstractParser.multiExpression(Unknown Source)
        at com.justep.system.ksql.parser.AbstractParser.addExpression(Unknown Source)
        at com.justep.system.ksql.parser.UpdateParser.assignExpression(Unknown Source)
        at com.justep.system.ksql.parser.UpdateParser.setNode(Unknown Source)
        at com.justep.system.ksql.parser.UpdateParser.start(Unknown Source)
        at com.justep.system.ksql.parser.AbstractParser.parse(Unknown Source)
        ... 33 more
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35918
发表于 2017-2-16 17:44:50 | 显示全部楼层
应该是子查询的问题,ksql中用子查询可能会有问题,推荐用sql去实现
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

13

主题

86

帖子

182

积分

初级会员

Rank: 2

积分
182
QQ
 楼主| 发表于 2017-2-16 17:52:21 | 显示全部楼层
jishuang 发表于 2017-2-16 17:44
应该是子查询的问题,ksql中用子查询可能会有问题,推荐用sql去实现

我是想用sql啊,而且sql代码是没有问题的,问题是我在后台java代码里面该怎么才能执行sql而不是ksql?
回复 支持 反对

使用道具 举报

13

主题

86

帖子

182

积分

初级会员

Rank: 2

积分
182
QQ
 楼主| 发表于 2017-2-16 18:03:16 | 显示全部楼层
OK,搞定了,请锁帖。
偶尔写一回代码真是坑啊,基本都不会了,还要参考原来的用法。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-4-27 07:06 , Processed in 0.116320 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表