Syntaxe SQL Server:déclaration de mise à jour de SQL Server à Oracle
Je converti à Oracle Syntaxe:
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)
Est-ce exact? Je suspecte que je change la logique de la mise à jour.
Inversez les mots "Oracle" avec "SQL" (c'est-à-dire que je ne connais pas Oracle), et je suis entièrement d'accord. Sauf pour le || opérateur, bien sûr. –