我正在创建一个应用程序,我希望在time_out_history列中基于当前日期存储每个最后time_out详细信息,因为我创建的查询查询工作正常但问题是它始终更新整个记录
EMPLOYEE_ID-- VARCHAR2(30 BYTE)
TIME_IN-- TIMESTAMP(6) WITH LOCAL TIME ZONE
TIME_OUT-- TIMESTAMP(6) WITH LOCAL TIME ZONE
WORKING_HOUR-- VARCHAR2(30 BYTE)
PUNCH_DATE-- DATE
TIME_OUT_HISTORY-- VARCHAR2(200 BYTE)
我的查询是:
UPDATE EMPLOYEE_LOGIN_TIME T1 SET T1.TIME_OUT_HISTORY=
(SELECT pk.TIME_OUT FROM EMPLOYEE_LOGIN_TIME pk WHERE trunc(punch_date)=trunc(SYSDATE))
答案 0 :(得分:0)
你的命令是:
def wheelEvent(self, event):
if (event.modifiers() & QtCore.Qt.ControlModifier):
self.bindWheel(event)
else:
super().wheelEvent(event)
此处,通过内部UPDATE EMPLOYEE_LOGIN_TIME T1
SET T1.TIME_OUT_HISTORY= (SELECT pk.TIME_OUT
FROM EMPLOYEE_LOGIN_TIME pk
WHERE trunc(punch_date)=trunc(SYSDATE)
) ;
,您正在寻找分配给SELECT
的有效值。您可能会发现某些值,在这种情况下,select的结果将是T1.TIME_OUT_HISTORY
。
要仅更新要更新的记录,您的命令应如下所示:
null
添加的UPDATE EMPLOYEE_LOGIN_TIME T1
SET T1.TIME_OUT_HISTORY= (SELECT pk.TIME_OUT
FROM EMPLOYEE_LOGIN_TIME pk
WHERE trunc(punch_date)=trunc(SYSDATE)
)
WHERE T1.<column name> ....
AND T1.<column name> .... ;
确定了从WHERE
选择应更新的记录时要使用的规则。
这如何让事情更清楚。