在tarantool中是否支持更新连接?我正在检查tarantool sql参考,但找不到任何样品。当我尝试使用类似于下面的查询时,我得到一个错误。
UPDATE
COMMISSIONS
SET
COMMISSIONS.COMMISSION =
COMMISSIONS.BASE_AMOUNT * TARGETS.PERCENTAGE
FROM
COMMISSIONS
INNER JOIN TARGETS
ON COMMISSIONS.TARGET_ID = TARGETS.TARGET_ID;
以下是模式定义:
CREATE TABLE COMMISSIONS
(
STAFF_ID INTEGER PRIMARY KEY,
TARGET_ID INTEGER,
BASE_AMOUNT INTEGER,
COMMISSION INTEGER
);
CREATE TABLE TARGETS
(
TARGET_ID INTEGER PRIMARY KEY,
PERCENTAGE INTEGER
);
INSERT INTO
TARGETS(TARGET_ID, PERCENTAGE)
VALUES
(1,20),
(2,30),
(3,50),
(4,60),
(5,80);
INSERT INTO
COMMISSIONS(STAFF_ID, BASE_AMOUNT, TARGET_ID)
VALUES
(1,100000,2),
(2,120000,1),
(3,80000,3),
(4,900000,4),
(5,950000,5);
这是我在运行update命令时遇到的错误:
Caused by: org.tarantool.TarantoolException: Syntax error at line 1 near '.'
at org.tarantool.TarantoolBase.serverError(TarantoolBase.java:31)
at org.tarantool.TarantoolClientImpl.complete(TarantoolClientImpl.java:571)
at org.tarantool.TarantoolClientImpl.readThread(TarantoolClientImpl.java:491)
at org.tarantool.TarantoolClientImpl.lambda$startThreads$1(TarantoolClientImpl.java:238)
at java.base/java.lang.Thread.run(Unknown Source)
PS:我正在使用dbeaver tarantool jdbc驱动程序来运行查询,如果这有什么不同的话。
您可以使用子查询,如下所示:
UPDATE COMMISSIONS SET COMMISSION =
(
SELECT COMMISSIONS.BASE_AMOUNT * TARGETS.PERCENTAGE
FROM TARGETS
WHERE COMMISSIONS.TARGET_ID = TARGETS.TARGET_ID
);
我们的SQL方言源于SQLite,所以您也可以检查这个相关的答案:在SQLite中使用Join更新
我有一个Employee实体(Employee(id,name,company_id)): 一个公司可以有更多的员工,但一次有一个员工属于一个公司。我加入了他们(我希望获得状态为1的员工),并将cascade设置为all,但当我将员工更新为另一个公司时,该公司的employeeSet不会刷新,旧公司也不会刷新,新公司也不会刷新。这是员工的更新方法: 我也尝试过更新(雇员),但没有成功。我从代码中遗
问题内容: 我有一个应用程序,需要通过大量条目更新大量数据。基本上,它执行约7,000次插入和/或更新,但需要花费很长的时间(例如将近9分钟…平均每个查询约0.08秒)。从本质上讲,我正在寻求提高速度来处理多个此类请求(我不希望对我模糊的示例提出具体的答案……只是希望,可以帮助解释)。 以下是对请求进行概要分析的一些示例: 重复一遍恶作剧(大约7,000次)。这是一个更新,它收集在24小时内定期生
问题内容: 我想更新一个表以指示某些行是其他行的父表,因此我在表中添加了“父代”列。以下查询查找所有父母: 但是当我尝试修改该语法以进行更新时,它不起作用: 我得到: 请注意,第7行第28列是“ SET”行的结尾。 问题答案: Oracle不支持语句中的子句。 用这个:
日期 文档版本 说明 作者 2016-08-23 V1.0 创建钱麦系统开发对接文档 钱麦产品和技术团队等 2016-08-30 V1.1 修改一些参数命名 刘树智 2016-08-31 V1.2 修改部分参数命名,更新参数说明 谢静、黄小龙 2016-09-06 V1.3 修改部分参数描述 技术团队 2016-09-09 V1.4 补充主动通知说明 谢静 2016-09-18 V1.5 消费指定
问题内容: 如何更新子查询中也存在的表?我必须分两个阶段进行吗?(创建一个临时表-将选定的数据放入其中,然后更新最终表) 我正在尝试使用每个CTN的网络标签更新invoiceLine表。 最终结果将是: invoiceLine 我有以下表格: invoiceLine ctn network 1234 null 2345 null 3456 null terminal ctn network 123
我刚接触熊猫,似乎无法使用合并功能: 对于列a上的左连接,我想通过连接键更新公共列。注:c列中的最后一个值来自左表,因为不存在匹配项。 我应该如何使用Pandas merge函数来实现这一点?非常感谢。