Cheque esto y no se por que me marca error

Erik Lara
28 de Diciembre del 2004
create or replace procedure area
(Largo in number,ancho in varchar2,Rarea out varchar2)
As
Begin
Rarea:=upper(ancho);
end;

*********************************************************


y lo ejecuto asi

execute area(1,'hola',:V)

Y ME MARCA ERROR

clipclip
28 de Diciembre del 2004
¿Cuál es el error?

Enrique
28 de Diciembre del 2004
El error es el tipo de variable (varchar2) para especificar un numero.
Si lo que desea es construir una funcion, debe convertir los valores con TO_NUMBER(PARAMETRO), efectuar el cálculo y en el RETURN colocar TO_CHAR(RESULTADO)

ori
28 de Diciembre del 2004
Si, y tu culo un bebedero de patos.
El problema es que intentas cambiar una variable que te la has declarado como solo de entrada.
En un char puedes meter cualquier número, para esos es un char, lo unico es que lo trata como char.

Carlos Pi?
28 de Diciembre del 2004
No entiendo muy bien tu problema, podrías haber sido más generoso en palabras.

El parámetro Rarea es un parámetro de salida por lo que debe ser una variable, entiendo que :V es una variable y estas ejecutando este procedimiento llamandolo desde otro.
Yo probaría sin usar los :
Suerte