Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/07/2008, 08:42
Shadd
 
Fecha de Ingreso: julio-2008
Mensajes: 1
Antigüedad: 15 años, 9 meses
Puntos: 0
Funciones postgres

buenos dias, estoy tratando de hacer una funcion en postgres que valide si existe un usuario dado el nombre de usuario y contraseña, cuando hago la consulta manualmente funciona, pero cuando la ingreso en la función me muestra el siguiente error:

ERROR: syntax error at or near "$1"
LINE 1: SELECT execute $1
^
QUERY: SELECT execute $1
CONTEXT: SQL statement in PL/PgSQL function "f_valida_usuario" near line 5

basicamente lo que estoy haciendo en la funcion es lo siguiente:

CREATE OR REPLACE FUNCTION f_valida_usuario(in text,in text)
RETURNS boolean as $$
DECLARE query TEXT;
result RECORD;
BEGIN
query = 'SELECT count(*) FROM pg_shadow WHERE usename = ' || quote_literal( $1 ) || ' and passwd = ' || quote_literal( $2 ) || '';
result = execute query;
IF result.count = 0 THEN
return false;
ELSE
return true;
END IF;
END;
$$ LANGUAGE 'plpgsql';

¿podrian ayudarme con mi problema?

Muchas gracias