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

Obtener ultima insercion

Estas en el tema de Obtener ultima insercion en el foro de PostgreSQL en Foros del Web. que tal compañeros.....bueno mi duda es que tengo una base de datos en la cual guardo informacion pero kiero saber y obtener el ultimo registro ...
  #1 (permalink)  
Antiguo 27/10/2009, 22:24
Avatar de laran  
Fecha de Ingreso: junio-2006
Ubicación: un lugar muy humedo....agradable...algunos lugares muy bonitos para visitar
Mensajes: 47
Antigüedad: 17 años, 10 meses
Puntos: 0
Obtener ultima insercion

que tal compañeros.....bueno mi duda es que tengo una base de datos en la cual guardo informacion pero kiero saber y obtener el ultimo registro almacenado dentro de ella, por ahy lei que se podia con la instruccion:

select last_value from "tabla"........

pero la verdad hasta ahora esa instruccion no me devuelve nada de hecho me marca error......cabe mencionar que use una consulta para obtener el numero maximo de un campo de tipo VARCHAR pero no me obtiene el mayor.....solo me hace la comparacion desde el numero 1 al 9 y si tengo numeros mayores los ignora....bueno hice el tipo varchar porque meto una cadena junto a cada numero....

alguien podria decirme como obtengo el ultimo registro despues de su insercion a mi BD????????
__________________
:cool: L@R@N :cool:
  #2 (permalink)  
Antiguo 28/10/2009, 06:35
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Obtener ultima insercion

Postea la estructura de la tabla.
Con un casteo a la variable que dices tipo varchar podríamos hacer algo.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 28/10/2009, 11:12
Avatar de webness  
Fecha de Ingreso: enero-2009
Ubicación: BOGOTA
Mensajes: 312
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: Obtener ultima insercion

EL QUERY QUE ESTAS LANZANDO NO ES HACIENDO REFERENCIA EN EL FROM A LA TABLA SINO AL NOMBRE DE LA SECUENCIA:

Código PHP:
SELECT last_value from nombre_secuencia
PERO ESTO IMPLICA QUE TU TABLA DEBE TENER COMO PRIMARY KEY UN CAPO ENTERO, AL CUAL SE LE ASIGNA POR DEFAULT LA SECUENCIA.

AHORA SI EL CAMPO DEL QUE HABLAS QUE TIENE UNA CADENA JUNTO A TU NUMERO:
Cita:
bueno hice el tipo varchar porque meto una cadena junto a cada numero....
ES TU PRIMARY KEY, POR EXPERIENCIA TE DIGO QUE NO UTILICES ESTOS CAMPOS ASI COMO PK, EL PRIMARY KEY SIEMPRE HA DE SER UN VALOR NUMERICO QUE SE AUTOINCREMENTE Y NUNCA DEBE DE SER COMBINADO.
  #4 (permalink)  
Antiguo 28/10/2009, 15:43
Avatar de laran  
Fecha de Ingreso: junio-2006
Ubicación: un lugar muy humedo....agradable...algunos lugares muy bonitos para visitar
Mensajes: 47
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: Obtener ultima insercion

bueno pues esta es mi tabla:

CREATE TABLE paciente
(
idpaciente character varying(15) NOT NULL,
edad integer,
sexo character(1),
diasevolucion integer,
fiebre double precision,
difrespiratoria boolean,
frecrespiratoria integer,
freccardiaca integer,
estertores boolean,
edonutricional character varying(15),
anemia double precision,
leucocitos integer,
acidosis integer
CONSTRAINT paciente_pkey PRIMARY KEY (idpaciente)
) ;

y como ven idpaciente es de tipo varchar....

existe alguna forma de obtener el ultimo registro despues de insertado?.....

mediante una consulta en postgres?

les agradezco la ayuda.......
__________________
:cool: L@R@N :cool:
  #5 (permalink)  
Antiguo 28/10/2009, 16:12
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Obtener ultima insercion

laran....
el idpaciente es varchar, pero insertas valores numericos?

Una forma sencilla es adicionar un campo fecha de tipo timestamp y la consulta la ordenarias por ese campo y aplicarias un limit.

Código sql:
Ver original
  1. SELECT *FROM paciente ORDER BY fecha LIMIT 1;

aunque fuera characther varying la variable, si cumple con un patrón numerico ascendente, podrias hacer un order by id_paciente::integer limit 1;
__________________
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 18:49.