Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/05/2014, 06:13
cocode
 
Fecha de Ingreso: mayo-2014
Mensajes: 12
Antigüedad: 10 años, 6 meses
Puntos: 0
procedimiento

He creado este procemiento, pero me da error en la primera condición concretamente en el ELSE a ver que le puede pasar
Código SQL:
Ver original
  1. CREATE OR REPLACE PROCEDURE actualiza_precio (sala1 VARCHAR2)
  2. AS
  3. --Creamos un cursor seleccionando el precio, el tema y la capacidad, condicionando el nombre de la sala
  4. CURSOR consulta IS SELECT conferencia.precio, conferencia.tema, sala.capacidad FROM conferencia, sala WHERE sala.nombre=sala1;
  5. --Declaramos las variables necesarias para el procedimiento
  6. v_precio NUMBER;
  7. v_conferencia NUMBER;
  8. v_tema varchar2(200);
  9. v_capacidad NUMBER;
  10. BEGIN
  11. OPEN consulta;
  12. v_conferencia :=0;
  13. --Creamos una secuencia repetitiva para encontrar todos los temas y sus respectivos precios
  14. LOOP
  15. EXIT WHEN consulta%NOTFOUND;
  16. FETCH consulta INTO v_precio, v_tema, v_capacidad;
  17. --creamos la condición para actualizar el precio
  18. IF
  19.  v_capacidad<180  THEN v_precio:=v_precio*1.1;
  20. ELSE
  21.  v_capacidad>180 THEN v_precio:=vprecio*1.05;
  22. DBMS_OUTPUT.PUT_LINE (v_tema||':  '||v_precio);
  23. v_conferencia := v_conferencia+1;
  24. END IF;
  25. END LOOP;
  26. CLOSE consulta;
  27. --Creamos una condición para saber cuántos precios han sido actualizados en el procedimiento
  28. IF v_conferencia <> 0 THEN
  29. DBMS_OUTPUT.PUT_LINE ('Precios actualizados:'||'  '||TO_CHAR(v_conferencia));
  30. END IF;
  31.  END;

Última edición por gnzsoloyo; 17/05/2014 a las 10:48 Razón: Usar Highligh "SQL", por favor.