SQL Server Синтаксис:Обновление от SQL Server для Oracle
Я превратили его в Oracle Синтаксис:
UPDATE RELATIONSHIP
SET (SEGMENT_START_DT,SEGMENT_END_DT,SEGMENT_ID) =
(SELECT SEGMENTS_LANE.SEGMENT_START_DT, SEGMENTS_LANE.SEGMENT_END_DT,
CONCAT(CONCAT(CONCAT(CONCAT('XCSLANE','-'),SEGMENTS_LANE.LANE_ID),'-
'),TO_CHAR(SEGMENTS_LANE.SEGMENT_START_DT,'dd mon yyyy hh24:mm:ss'))
FROM SEGMENTS_LANE
WHERE RELATIONSHIP.LANE_ID = SEGMENTS_LANE.LANE_ID
AND RELATIONSHIP.TO_WE_DT > SEGMENTS_LANE.SEGMENT_START_DT
AND RELATIONSHIP.TO_WE_DT <= SEGMENTS_LANE.SEGMENT_END_DT
AND SEGMENTS_LANE.SEGMENT_START_DT IS NOT NULL)
WHERE RELATIONSHIP.lane_id IN (SELECT SEGMENTS_LANE.LANE_ID FROM SEGMENTS_LANE)
Правильно ли это? Я подозреваю, что меняю логику обновления.
Переверните слова «Oracle» с помощью «SQL» (т. е. я не знаю Oracle), и я полностью согласен. За исключением || оператора, конечно. –