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

duda: consulta que no va en una función

Estas en el tema de duda: consulta que no va en una función en el foro de PostgreSQL en Foros del Web. Saludos Tengo la siguiente consulta: Código: SELECT (EXTRACT(YEAR FROM now()))::text||'-'||'ADM'||'-'||nextval('viatico_'||(SELECT id FROM dependencias WHERE acronimo = 'ADM')||'_seq'::text) que me devuelve: Código: ?column? ------------ 2009-ADM-6 (1 ...
  #1 (permalink)  
Antiguo 27/03/2009, 09:24
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 19 años, 2 meses
Puntos: 7
duda: consulta que no va en una función

Saludos

Tengo la siguiente consulta:
Código:
SELECT (EXTRACT(YEAR FROM now()))::text||'-'||'ADM'||'-'||nextval('viatico_'||(SELECT id FROM dependencias WHERE acronimo = 'ADM')||'_seq'::text)
que me devuelve:
Código:
?column?
------------
 2009-ADM-6
(1 fila)
donde obviamente el 6 se va incrementando con cada llamada, pues es un serial.

Quiero introducir la consulta en una fucnión, de manera que:
Código:
CREATE FUNCTION codigo_solicitud(character varying) RETURNS character varying
    AS $_$ SELECT (EXTRACT(YEAR FROM now()))::text||'-'||$1||'-'||nextval('viatico_'||(SELECT id FROM dependencias WHERE acronimo = '$1')||'_seq'::text) $_$
    LANGUAGE sql;
Pero, al ejecutar la consulta: SELECT codigo_solicitud('ADM') AS solicitud
me devuelve NULL

Algo de luz por favor...
__________________
Gracias de todas todas
-----
Linux!
  #2 (permalink)  
Antiguo 27/03/2009, 09:51
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: duda: consulta que no va en una función

hola cacr

Cita:
WHERE acronimo = '$1'
prueba quitandole las comillas a $1.

Espero te funcione.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
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 17:00.