Buenas a todos, tengo una aplicacion que se programo en MySQL y ahora debo migrarla a Oracle, tengo inconveniente con algunos INSERTS que por ejemplo en MySQL estan asi:
Esto no funciona en Oracle, asi que buscando en Internet, encontre que la funcion MERGE me servia para esta labor. Intente reemplazar este INSERT de la siguiente forma:
Código SQL:
Ver originalMERGE INTO menu_roles s USING (SELECT 36 AS cod_rol, 15 AS cod_men FROM menu_roles WHERE cod_men=15 AND cod_rol=36 ) f
ON (f.cod_rol=s.cod_rol AND f.cod_men=s.cod_men)
WHEN NOT MATCHED THEN INSERT (cod_men, cod_rol, flag_men_dano,flag_men_hab_no_sirve) VALUES
(f.cod_rol, f.cod_men, NULL, NULL);
Y asi:
Código SQL:
Ver originalMERGE INTO menu_roles s USING (SELECT cod_rol, cod_men FROM menu_roles WHERE cod_men=15 AND cod_rol=36 ) f
ON (f.cod_rol=s.cod_rol AND f.cod_men=s.cod_men)
WHEN NOT MATCHED THEN INSERT (cod_men, cod_rol, flag_men_dano,flag_men_hab_no_sirve) VALUES
(f.cod_rol, f.cod_men, NULL, NULL);
No me sale error pero me muestra 0 rows merged, y no realiza la inserción.
Alguien me puede indicar que error tengo, o si hay otra funcion que no sea MERGE para realizar este tipo de inserciones
De antemano, muchas gracias por la ayuda.