FUNCION DELETE TABLA 1 con referencia a tabla 2
Publicado por carlos (4 intervenciones) el 10/08/2016 18:32:12
Hola! tengo este problema
Quiero hacer una eliminacion de una tabla con referencia a otra en oracle xpress edition 11g.
Lo que quiero hacer es Eliminar a los empleados que estén en un presupuesto mayor a 30000
Si hago una consulta con esos parámetros me muestra 6 resultados.
quiero borrar esos 6 resultados y no he podido he intentado con INNER JOIN
(Esta la probe en SQL Server y funciono jejeje se que no es lo mismo pero estoy intentando varias cosas)
Y Me da este error.
Tambien intente con esta otra forma
y tampoco me da error.
alguien que me pueda ayudar. GRACIAS.
Quiero hacer una eliminacion de una tabla con referencia a otra en oracle xpress edition 11g.
Lo que quiero hacer es Eliminar a los empleados que estén en un presupuesto mayor a 30000
Si hago una consulta con esos parámetros me muestra 6 resultados.
1
2
3
4
SELECT * FROM EMPLEADOS
JOIN DEPARTAMENTOS ON
DEPARTAMENTOS."COD_DEPARTAMENTO"=EMPLEADOS."COD_DEPARTAMENTO"
WHERE DEPARTAMENTOS."PRESUPUESTO">30000;
quiero borrar esos 6 resultados y no he podido he intentado con INNER JOIN
(Esta la probe en SQL Server y funciono jejeje se que no es lo mismo pero estoy intentando varias cosas)
1
2
3
4
DELETE EMPLEADOS FROM EMPLEADOS
INNER JOIN DEPARTAMENTOS ON
DEPARTAMENTOS."COD_DEPARTAMENTO"=EMPLEADOS."COD_DEPARTAMENTO"
WHERE DEPARTAMENTOS."PRESUPUESTO">30000;
Y Me da este error.
1
2
3
4
5
6
7
8
9
10
11
Error que empieza en la línea: 8 del comando -
DELETE EMPLEADOS FROM EMPLEADOS
INNER JOIN DEPARTAMENTOS ON
DEPARTAMENTOS."COD_DEPARTAMENTO"=EMPLEADOS."COD_DEPARTAMENTO"
WHERE DEPARTAMENTOS."PRESUPUESTO">30000
Error en la línea de comandos : 8 Columna : 18
Informe de error -
Error SQL: ORA-00933: SQL command not properly ended
00933. 00000 - "SQL command not properly ended"
*Cause:
*Action:
Tambien intente con esta otra forma
1
2
3
DELETE FROM EMPLEADOS
WHERE EMPLEADOS."COD_DEPARTAMENTO" = (SELECT DEPARTAMENTOS."COD_DEPARTAMENTO" FROM DEPARTAMENTOS
WHERE DEPARTAMENTOS."PRESUPUESTO">30000);
y tampoco me da error.
1
2
3
4
5
6
7
8
9
Error que empieza en la línea: 4 del comando :
DELETE FROM EMPLEADOS
WHERE EMPLEADOS."COD_DEPARTAMENTO" = (SELECT DEPARTAMENTOS."COD_DEPARTAMENTO" FROM DEPARTAMENTOS
WHERE DEPARTAMENTOS."PRESUPUESTO">30000)
Informe de error -
Error SQL: ORA-01427: single-row subquery returns more than one row
01427. 00000 - "single-row subquery returns more than one row"
*Cause:
*Action:
alguien que me pueda ayudar. GRACIAS.
Valora esta pregunta


0