Bueno, todas las BBDD manejan el estndar sql, ms unos aadidos, los
cuales son diferentes para cada mquina. La sentencia que comentas no
debe estar en el estndar sql, y el 400 no la implementa. De todas
maneras, no creo que haya diferencias de rendimiento, y por supuesto
tampoco en el
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
No estoy seguro, pero me suena a lista
de bibliotecas.
Pedro Pinedo Hernandez: Analista-Programador
Grupo Amcor Flexibles Hispania S.L.
Departamento de Informática / IT Department
tfno.:+34 941 28 60 90 - 941 03 01 39
fax: +34 941 20 75 43
Avd. Burgos 67-95
26006 Logroño Spain
[EMAIL
José Manuel haz lo siguiente:
UPDATE tabla1 as A
SET A.campo2=
(SELECT B.campo7
FROM tabla2 as B
WHERE B.campo8 = A.campo4)
Saludos
---
Carlos Augusto Correa García
CMAC PIURA S.A.C.
Area
evidentemente era un problema de biblioteca, pero ahora me da un error
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
Esa sentencia no es correcta para el db2 del iseries. En su lugar
utiliza la siguiente:
update tabla1 a set campo2 = (select max(campo7) from tabla2 b where
b.campo8 = a.campo4).
Utilizo max() para asegurarme de que el subselect devuelve solo un
registro.
Saludos.
Fernando Prez
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