Gracias una vez más fernando
efectivamente el resultado es el mismo, pero no quería hacer el SELECT
por si afectaba al rendimiento ... y porque pensaba que ya habrá ocasiones en
las que se vaya complicando con más y más SELECT
... de
hecho lo estoy probando ... y va muy muy lento :-(
no hay
forma de evitar el select y utilizar el from?
un
saludo
Bueno, todas las BBDD manejan el estándar sql, más
unos añadidos, los cuales son diferentes para cada máquina. La sentencia que
comentas no debe estar en el estándar sql, y el 400 no la implementa. De todas
maneras, no creo que haya diferencias de rendimiento, y por supuesto tampoco
en el resultado. Simplemente has de decir de otra manera lo que quieres
hacer.
Saludos.
Fernando
Pérez
Cerámica Saloni.
Dpto. Auditoría y
Organización
En/na jose manuel
lopez gestal ha escrit:
ya lo veo
en otros DBMS sí funciona
mi intención es hacerlo sin utilizar un select
por qué no me deja el 400 hacerlo así?
Fernando, Carlos, Pedro, gracias
Esa sentencia no es correcta para el db2 del iseries. En su lugar
utiliza la siguiente:<br>
<br>
update tabla1 a set campo2 = (select max(campo7) from tabla2 b where
b.campo8 = a.campo4).<br>
<br>
Utilizo max() para asegurarme de que el subselect devuelve solo un
registro.<br>
UPDATE tabla1
SET campo2 = tabla2.campo7
FROM
tabla1, tabla2
WHERE
tabla2.campo8 = tabla1.campo4
ahora ya no sale:
El calificador de columna o tabla tabla2 no está definido.
dice:
Palabra clave FROM inesperada. Símbolos válidos: <FIN DE
SENTENCIA>.
__________________________________________________
Forum.HELP400 es un servicio más de NEWS/400.
© Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________
Para darte de baja visita la siguente URL:
http://coyote.combios.es/mailman/listinfo/forum.help400
|