Yo siempre recomiendo que en los SQL de los programas definan explícitamente todos los campos, porque si en un futuro alguien agrega un campo en una tabla, es muy probable que estas consultas dejen de funcionar, aunque este no sería el caso porque estas tratando con la misma tabla.
Dos comentarios:
- En el insert lo mas normal es que pongas un campo con un valor constante, para que no se dupliquen registros, ej: (el 55)
Código:
INSERT INTO TABLA T1
(CAMPO1, CAMPO2, CAMPO3)
SELECT 55 CAMPO1, CAMPO2, CAMPO3
FROM TABLA T2
WHERE T2.CAMPO1='XXXX'
- El update que te pasé es medio inútil, porque esta haciendo un update de un registro con si mismo, la idea es que tome los datos de otro registro:
Código:
UPDATE TABLA T1
SET (CAMPO1, CAMPO2, CAMPO3) = (SELECT CAMPO1, CAMPO2, CAMPO3
FROM TABLA T2
WHERE T2.CAMPO1='XX2')
WHERE T1.CAMPO1='XXXX'
Saludos!