Hi All,

I am a relatively new user to postgres. I have created a function that compiles but
generates an error when executed. I know I am overlooking something simple. The
function and error are below.

CREATE OR REPLACE FUNCTION building_insert(varchar, int4, varchar)
  RETURNS int4 AS
'

/* Return code dictionary:
        0 - Success
        1 - Valid User, Insert Failed
        2 - Invalid User, Abort
*/
DECLARE
        p_user ALIAS FOR $1;
        p_parcel_id ALIAS FOR $2;
        p_name ALIAS FOR $3;

BEGIN

        IF p_user == \'mlong\' THEN
                RETURN 2;
        END IF;

        INSERT  INTO
                building(
                        parcel_id,
                        name,
                        createdate
                )
        VALUES(
                        p_parcel_id,
                        p_name,
                        now()
                );


        RETURN 0;
END;
' LANGUAGE 'plpgsql' VOLATILE;

/* Query that generates error */
select building_insert('mlong', 20,'building 1');

ERROR:  operator does not exist: character varying == "unknown"
HINT:  No operator matches the given name and argument type(s). You may need to add
explicit type casts.
CONTEXT:  PL/pgSQL function "building_insert" line 14 at if

Thanks,
Mike

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Reply via email to