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 originalCREATE OR REPLACE PROCEDURE actualiza_precio (sala1 VARCHAR2)
AS
--Creamos un cursor seleccionando el precio, el tema y la capacidad, condicionando el nombre de la sala
CURSOR consulta IS SELECT conferencia.precio, conferencia.tema, sala.capacidad FROM conferencia, sala WHERE sala.nombre=sala1;
--Declaramos las variables necesarias para el procedimiento
v_precio NUMBER;
v_conferencia NUMBER;
v_tema varchar2(200);
v_capacidad NUMBER;
BEGIN
OPEN consulta;
v_conferencia :=0;
--Creamos una secuencia repetitiva para encontrar todos los temas y sus respectivos precios
LOOP
EXIT WHEN consulta%NOTFOUND;
FETCH consulta INTO v_precio, v_tema, v_capacidad;
--creamos la condición para actualizar el precio
IF
v_capacidad<180 THEN v_precio:=v_precio*1.1;
ELSE
v_capacidad>180 THEN v_precio:=vprecio*1.05;
DBMS_OUTPUT.PUT_LINE (v_tema||': '||v_precio);
v_conferencia := v_conferencia+1;
END IF;
END LOOP;
CLOSE consulta;
--Creamos una condición para saber cuántos precios han sido actualizados en el procedimiento
IF v_conferencia <> 0 THEN
DBMS_OUTPUT.PUT_LINE ('Precios actualizados:'||' '||TO_CHAR(v_conferencia));
END IF;
END;