1 que el articulo a eliminar si exista
2. que el articulo no este en un detalle de compra
Tengo el siguiente procedimiento:
esta por linea de comando
Código SQL:
Ver original
DECLARE cod_art CHAR(10) :='&Codigo_Articulo_a_Eliminar'; BEGIN validarexisart(cod_art); END; /
Código SQL:
Ver original
CREATE OR REPLACE PROCEDURE validarexisart(cod_art CHAR ) IS res BOOLEAN; res2 BOOLEAN; noexiste exception; BEGIN verificararticulo(cod_art,res, res2); IF res2 = TRUE THEN raise noexiste; ELSE dbms_output. put_line(' se eliminar el articulo'); END IF; exception WHEN noexiste THEN dbms_output. put_line('El articulo no existe en el sistema'); END
y las consultas las hago en verificararticulo:
Código SQL:
es decir res me recibe lo que devuelve a y res2 lo que devuelva Ver original
CREATE OR REPLACE PROCEDURE verificararticulo(arti IN CHAR, a OUT BOOLEAN, b OUT BOOLEAN ) IS v_articulo articulo%rowtype; BEGIN SELECT * INTO v_articulo FROM articulo WHERE cod_art =arti; a:= TRUE; exception WHEN No_data_found THEN a:=FALSE; SELECT * INTO v_articulo FROM detalle_compra WHERE cod_art =arti; b:= TRUE; exception WHEN No_data_found THEN b:=FALSE; END verificararticulo; /
Pero tengo errores de compilación en el procedimiento verificararticulo
Como seria entonces la sintaxis para ese procedimiento o de que forma podria hacer las dos validaciones?