Algunos problemas:
VARHAR2nosotros un error tipográfico y debería serVARCHAR2.- En su lugar, podría especificar los tipos de datos para hacer referencia a las columnas de la tabla correspondiente usando
table_name.column_name%TYPE.
- En su lugar, podría especificar los tipos de datos para hacer referencia a las columnas de la tabla correspondiente usando
- El procedimiento no genera nada; debe cambiar uno de los
INparámetros a unOUT(o unIN OUTparámetro). - Su consulta no especifica un nombre de tabla.
- Puede usar
SELECT ... INTO ...en lugar de unCURSOR.
Algo como esto:
CREATE OR REPLACE PROCEDURE FIRSTPROC (
ID1 IN table_name.id1val%TYPE,
ID2 OUT table_name.id2val%TYPE
)
AS
BEGIN
DBMS_OUTPUT.PUT_LINE(ID1);
SELECT id2val
INTO ID2
FROM table_name
WHERE id1val = ID1;
EXCEPTION
WHEN NO_DATA_FOUND THEN
ID2 := 0; -- Or you could use NULL
WHEN TOO_MANY_ROWS THEN
ID2 := 0; -- Or you could use NULL
END;
/