Oracle – insertar registros desde otra tabla (insert into select)

Oracle – insertar registros desde otra tabla (insert into select)

¿Cómo insertar registros en Oracle de una tabla en otra? ¿Cómo copiar los datos de una tabla de Oracle a otra tabla? ¿Cómo hacer un insert into select? ¡La forma más sencilla es hacer un INSERT INTO, y en lugar de poner los VALUES de la sentencia, poner una SELECT con estructura de datos coincidentes.
Sintaxis:
INSERT INTO tabla-a-anyadir
(SELECT campo1, campo2 FROM tabla-de-donde-coger)
Por ejemplo, teniendo las tablas:
TABLA: usuarios
CAMPOS: id_usuario, nombre_usuario, apellido_usuario
Si quisiéramos añadir valores de  la tabla:
TABLA: clientes
CAMPOS:  id_cliente, nombre_cliente, apellido_cliente, id_pais
Imaginaos que queremos añadir a la tabla usuarios todos los clientes que sean del país 34  (España). Sintaxis:
INSERT INTO usuarios
(SELECT id_cliente, nombre_cliente, apellido_cliente FROM clientes WHERE id_pais=34)
Esta consulta es sólo un ejemplo, y podría haber problemas de violación de PK en el caso de que id_cliente a importar a Usuarios coincidieran con valores ya existentes en id_usuario. Siempre podéis dejar dicho campo vacío y valeros de un TRIGGER + SECUENCIA para que id_usuario aumentara automáticamente.