Mario Soto Cordones escribió:

> CREATE OR REPLACE FUNCTION "public"."inspropiedades" (char, smallint,
> smallint, integer, smallint, smallint, smallint, varchar, varchar, varchar,
> smallint, smallint, smallint, varchar, varchar, varchar, varchar, varchar)
> RETURNS "pg_catalog"."void" AS

El problema son esos "smallint" que le pusiste.  Cuando se resuelven los
argumentos, aquellos que son numéricos toman tipo "int".  Haz un cast al
momento de llamar la función:

> select * from inspropiedades('SA', 1::smallint, 1::smallint, 109, 
> 1::smallint, 1::etc,
> 3, 'CASA QUINTA CARMEN', 'DIRECCION', 'CALLE CARMEN', 30, 13,
> 1,'1-6','1-6','123456','REFERENCIA','MSOTO')

(El 109 no es necesario porque el tipo es integer).


Una alternativa menos molesta es declarar la función con argumentos int:

> CREATE OR REPLACE FUNCTION "public"."inspropiedades" (char, integer,
> integer, integer, integer, integer, integer, varchar, varchar, varchar,
> integer, integer, integer, varchar, varchar, varchar, varchar, varchar)
> RETURNS "pg_catalog"."void" AS

-- 
Alvaro Herrera                 http://www.amazon.com/gp/registry/DXLWNGRJD34J
"No tengo por qué estar de acuerdo con lo que pienso"
                             (Carlos Caszeli)
--
TIP 2: puedes desuscribirte de todas las listas simultáneamente
    (envía "unregister TuDirecciónDeCorreo" a majord...@postgresql.org)

Responder a