Código MySQL:
Ver original
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 original
MERGE 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 original
MERGE 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.