PDA

Ver la Versión Completa : Saber la última fila insertada


dunia_lv
06-04-2005, 21:38:01
Hola:

Tengo una tabla que tiene como index que yo misma tengo que incrementar. Por tanto me haría falta saber el último index que inserté para sumarle 1 y así poder insertar el otro. El caso es que no sé de que manera puedo saber el último index insertado desde un procedimiento de sqlserver. Me ayudan?

Desde ya gracias

Dunia

JOSEPE
06-04-2005, 21:57:05
El concepto de ultima fila en una Base de Datos relacional no tiene sentido, lo que tienes que hacer es buscar mediante el index que has definido el ultimo valor. Si tu indice es un numero como parece ser pues simplemente mediante SQl puedes buscar el maximo valor.
Sin embargo, lo mejor que se puede hacer en este caso es difinir un Generator (que es para lo que se han creado) y desde aca controlas en que moemnto incrementar el generador.

Salu2
JOSEPE
Lima-Peru

jachguate
06-04-2005, 22:05:35
Todo lo dicho por Josepe con respecto de la última línea es correcto. Solo quiero ampliar que para saber el máximo valor de cualquier campo en una tabla podes hacer una consulta del tipo:

Select max(campollave)
from tabla;

Hasta luego.

;)

__hector
06-04-2005, 22:08:35
Esteee.... los generadores son propios de Interbase, y por la tematica del foro asi como por el mensaje, creo que se refiere a SQL Server.

Si no puedes utilizar campos de incremento (Identity insert) para que la numeracion sea automatica, debes valerte de un trigger para insertar el valor correcto en la columna al momento de insertar una nueva fila.

Tambien hay funciones como scope_identity o @@identity que te dan el valor del ultimo id generado para la tabla, pero sigue utilizando autonumericos.

JOSEPE
07-04-2005, 00:30:53
Si pues Hector tienes razon, no me percate que se trataba de la parte del foro donde se discuten aspectos de la BD de M$, que confieso nunca he tenido la necesidad de usar.

Seria muy bueno que en la pagina inicial del club pueda agregarse un campo que indique en que foro se puso el mensaje de tal manera de poder decidir rapidamente a que mensajes de los foros desea uno ingresar y leer. Yo por lo menos hasta el momento leo todos los mensajes conforme van ingresando, aunque personalmente evitaria aquellos relacionados con SQLServer, Tablas planas, y algunos otros foros.

Salu2
JOSEPE
Lima-Peru

dunia_lv
07-04-2005, 21:26:01
Chicos muchas gracias...quería disculparme si no estoy en el foro indicado, pues yo pensé que solo era de sql server. De cualquier manera cada una de sus respuesta me han ayudado en gran medida....