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

QQ登录

只需一步,快速开始

查看: 3471|回复: 2

[结贴] ksql insert 子查询 怎么批量产生主键

[复制链接]

2

主题

4

帖子

10

积分

新手上路

Rank: 1

积分
10
QQ
发表于 2017-4-23 18:58:00 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
KSQL.executeUpdate("insert into XS_KC a (a,a.fCPID, a.fCPMC,a.fSL) (select :guid(), b.fCPID,b.fCPMC,b.fCPSL from XS_CGLCZHIBIAO b where b.fMASTERID =:fMASTERID)",params,"/XSGLXT/productManager/data",null);


Caused by: com.justep.exception.BusinessException: 编码: JUSTEP150039; 提示: 执行sql: INSERT INTO XS_KC(XS_KC.fID, XS_KC.FCPID, XS_KC.FCPMC, XS_KC.FSL)(SELECT   ? , b.fCPID AS fCPID, b.fCPMC AS fCPMC, b.fCPSL AS fCPSL FROM XS_CGLCZHIBIAO b  WHERE b.fMASTERID =  ? ), binds: [39ABAC3F345A4C9A9C83C440FBAA185E, 7E11249D342F4959B8380240DAA2FDF2]出错
        at com.justep.exception.BusinessException.create(Unknown Source)
        at com.justep.system.ksql.KSQLUtils.execSqlUpdate(Unknown Source)
        ... 55 more
Caused by: java.sql.SQLException: Violation of PRIMARY KEY constraint 'PK__XS_KC__D9F8259C6774552F'. Cannot insert duplicate key in object 'dbo.XS_KC'.
        at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:365)
        at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2781)
        at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2224)
        at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:628)
        at net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:525)
        at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:487)
        at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeUpdate(JtdsPreparedStatement.java:421)
        at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
        at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
        ... 56 more


91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2017-4-24 10:35:37 | 显示全部楼层
直接用guid()就可以
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

2

主题

4

帖子

10

积分

新手上路

Rank: 1

积分
10
QQ
 楼主| 发表于 2017-4-24 10:55:27 | 显示全部楼层
果然搞定了 ,我用错了 :guid()  ,不带冒号果然可以,谢谢
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 04:08 , Processed in 0.053518 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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