Hola Estela, Para ejecutar este tipo de sentencias update de una tabla en función de otra debes utilizar la estructura MERGE, en el ejemplo que pones tú sería de la siguiente manera:
MERGE INTO PROJECT AS P USING (SELECT DEPTNO, LOCATION FROM DEPARTMENT) AS D ON P.DEPTNO = D.DEPTNO WHEN MATCHED THEN UPDATE SET P.LOCATION = D.LOCATION; Hasta dónde yo se un UPDATE no acepta el FROM. Otra cosa que no tengo clara es a partir de que reléase está disponible el MERGE. En este artículo te explica bien el MERGE: https://medium.com/@esteeeban10/merge-en-db2-as400-3ab986c36bef Un saludo Sergio Martínez Estibarna, CPE De: Forum.help400 <[email protected]> En nombre de estela retes Enviado el: lunes, 8 de marzo de 2021 16:16 Para: forum.help400 <[email protected]> Asunto: Norma SQL DB2 en V7R4 Buenas a todos, Disculpad por lo básico de la pregunta. Estamos intentando ejecutar unas sentencias SQL de tipo UPDATE desde el Rational (desde STRSQL nos ocurre lo mismo), similares a ésta de un manual de IBM: UPDATE PROJECT P SET P.LOCATION = D.LOCATION FROM DEPARTMENT D WHERE P.DEPTNO = D.DEPTNO; Estamos obteniendo el error: [SQL0199] Palabra clave FROM inesperada. Símbolos válidos: USE SKIP WAIT WITH FETCH LIMIT ORDER WHERE OFFSET. Entendemos que no nos está permitiendo poner una cláusula FROM en una UPDATE y nos gustaría saber porqué nos está rechazando esta sintaxis y en qué "norma" de SQL debemos basarnos a la hora de construir dichas sentencias. Gracias a todos y un saludo. -- Estela Este mensaje contiene información confidencial dirigida al destinatario del mismo. Las opiniones expresadas pertenecen al autor y no necesariamente a ESTIBARNA. Si Ud. recibe este mensaje por error, se ruega informe inmediatamente al remitente del mismo. Queda prohibido el uso, divulgación, copia o distribución a terceros de la información incluida en este mensaje.
____________________________________________________ �nete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 � Publicaciones Help400, S.L.
