Ver Mensaje Individual
  #5 (permalink)  
Antiguo 24/08/2015, 15:20
jpaulxD
 
Fecha de Ingreso: mayo-2015
Mensajes: 23
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Realizar diferentes Update dependiendo de la clase

Cita:
Iniciado por huesos52 Ver Mensaje
Pruebalo así:

Código SQL:
Ver original
  1. UPDATE planillas
  2. SET sueldo = CASE
  3. WHEN clase = 'A' THEN sueldo*1.20
  4. WHEN clase = 'B' THEN sueldo*1.15
  5. WHEN clase = 'C' THEN sueldo*1.14
  6. WHEN clase = 'D' THEN sueldo*1.10
  7. ELSE sueldo
  8. END
  9. FROM planillas INNER JOIN empleados ON
  10. planillas.codigo=empleados.codigo
  11. WHERE clase IN ('A', 'B', 'C', 'D');
Ahora me sale esto

Código SQL:
Ver original
  1. SQL> UPDATE planillas
  2.   2  SET sueldo=CASE clase
  3.   3  WHEN clase = 'A' THEN sueldo*1.20
  4.   4  WHEN clase = 'B' THEN sueldo*1.15
  5.   5  WHEN clase = 'C' THEN sueldo*1.14
  6.   6  WHEN clase = 'D' THEN sueldo*1.10
  7.   7  ELSE sueldo
  8.   8  END
  9.   9  FROM planillas INNER JOIN empleados ON
  10.  10  planillas.codigo=empleados.codigo
  11.  11  WHERE clase IN('A','B','C','D');
  12. WHEN clase = 'A' THEN sueldo*1.20
  13.            *
  14. ERROR at line 3:
  15. ORA-00905: missing keyword