Funciones postgres

Arquitectura, Extending SQL, The Postgree Rule System, Intefacing, Trigers, ODBC, JDBC, C++...

Funciones postgres

Notapor Shadd » Jue Jul 03, 2008 9:34 am

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:
Código: Seleccionar todo
  1.  

  2. CREATE OR REPLACE FUNCTION f_valida_usuario(in text,in text)

  3. RETURNS boolean as $$

  4. DECLARE query TEXT;

  5.         result RECORD;

  6.     BEGIN

  7.         query = 'SELECT count(*) FROM pg_shadow WHERE usename = ' || quote_literal( $1 ) || '  and passwd = ' || quote_literal( $2 ) || '';

  8.         result = execute query;

  9.         IF result.count = 0 THEN

  10.             return false;

  11.         ELSE

  12.             return true;

  13.         END IF;

  14.     END;

  15. $$ LANGUAGE 'plpgsql';

  16.  


¿podrian ayudarme con mi problema?

Muchas gracias
Shadd
Novato
Novato
 
Mensajes: 1
Registrado: Jue Jul 03, 2008 9:28 am


Re: Funciones postgres

Notapor ivancp » Lun Jul 28, 2008 9:47 pm

Si cambias quote_literal( $1 ) por quote_literal( '$1' )
Imagen @latindev | Mi Blog
Por favor lee las reglas del foro
Avatar de Usuario
ivancp
Colaborador
Colaborador
 
Mensajes: 680
Registrado: Jue Sep 06, 2007 12:58 pm



    

Volver a PostgreSQL

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados