Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

consultar una vista con pase de parámetros?

Estas en el tema de consultar una vista con pase de parámetros? en el foro de PostgreSQL en Foros del Web. Saludos Quiero hacer una vista que se filtra según un campo, de manera que, en el WHERE, en vez de pasar un elemento fijo, pase ...
  #1 (permalink)  
Antiguo 18/05/2009, 09:08
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 19 años, 3 meses
Puntos: 7
consultar una vista con pase de parámetros?

Saludos

Quiero hacer una vista que se filtra según un campo, de manera que, en el WHERE, en vez de pasar un elemento fijo, pase una variable según el usuario que se conecta:
Código:
SELECT solicitudviatico.*, (fecha_retorno-fecha_salida+1) AS duracion, (apellido||', '||nombre) AS nomb, funcionarios.apellido, funcionarios.nombre 
FROM solicitudviatico 
INNER JOIN funcionarios ON solicitudviatico.cedula = funcionarios.cedula 
WHERE (substring(codigo_solicitud FROM 6 FOR 3) = '$1') 
ORDER BY (substring(codigo_solicitud from 10)::int) DESC
¿cómo es posible?

Lo que he hecho es una vista sin la clausula WHERE, luego una función (según [1]):
Código:
CREATE OR REPLACE FUNCTION consulta_viaticos(ngerencia character varying)
  RETURNS SETOF viaticos_solicitados AS
$BODY$
SELECT * 
FROM viaticos_solicitados
WHERE (substring(codigo_solicitud FROM 6 FOR 3) = '$1') 
$BODY$
  LANGUAGE 'sql' VOLATILE;
Para luego lanzar una consulta:
Código:
select consulta_viaticos('GID')
Pero esta última consulta no me devuelve nada, dice que no consigue registros

[1]: http://archives.postgresql.org/pgsql...1/msg00483.php
__________________
Gracias de todas todas
-----
Linux!

Última edición por cacr; 18/05/2009 a las 09:44 Razón: agrego información
  #2 (permalink)  
Antiguo 18/05/2009, 10:50
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 10 meses
Puntos: 360
Respuesta: consultar una vista con pase de parámetros?

Cacr... quitale las comillas sencillas a $1.

En el parametro de entrada, la función ya sabe que se está refiriendo a un character varying y así lo va a tomar si lo manejas con $1.

Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 18/05/2009, 12:22
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 19 años, 3 meses
Puntos: 7
Respuesta: consultar una vista con pase de parámetros?

That's right! Obvio, está en la definición... cabeza cabeza, funciona!!!

Thanks!
__________________
Gracias de todas todas
-----
Linux!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:46.