Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   SQL Server (http://www.forosdelweb.com/f87/)
-   -   obtener nuevo cod con sprocedure en identity (http://www.forosdelweb.com/f87/obtener-nuevo-cod-con-sprocedure-identity-547526/)

hector2c 11/01/2008 23:21

obtener nuevo cod con sprocedure en identity
 
que es lo mejor?
  • crear procedures de inserción para tablas llaves primarias auto incrementables
  • crear procedures de inserción generando una consulta del ultimo registro y sumar 1.

como hago para obtener el id del nuevo registro insertado en caso use auto incremento en tablas (claro esta usando un procedure) ??

espero respondan es con urgencia, gracias

royrojas 13/01/2008 01:56

Re: obtener nuevo cod con sprocedure en identity
 
eso depende de lo que quieras hacer, pero generalmente es mucho mejor que SQL que administre los valores de autoincremento.

pero por ejemplo si es un sistema de facturacion, con varias llaves primarias y cada caja maneja su propio valor de incremento pues en ese caso es mejor manejarlo sin el idendity, pero tambien se podria con identtity, eso depende de como diseñes tu aplicacion

yo creo que es mucho mejor el manejar estos valores con identity.

ahora para obtener el ultimo valor identity insertado consultas de la siguiente forma.

SELECT @@IDENTITY

hector2c 18/01/2008 01:02

Re: obtener nuevo cod con sprocedure en identity
 
hola royrojas, gracias por responder, me ayudaste un monton, en verdad, despejaste dudas, te lo agradesco, nos vemos cuidate !

iislas 18/01/2008 12:22

Re: obtener nuevo cod con sprocedure en identity
 
Difiero, perdon, en la recomendacion SYSROJAS, es "correcto" que es el ULTIMO identity insertado, mas no, el insertado por la conexion, podria, con @@IDENTITY, podria obtener el identity de otra conexion, si hubiera muchos clientes insertando.

Para obtener "MI" identity, se usua la funcion SCOPE_IDENTITY()

Devuelve el último valor IDENTITY insertado en una columna IDENTITY en el mismo alcance. Un alcance es un módulo (un procedimiento almacenado, desencadenador, función o lote). Por tanto, dos instrucciones están en el mismo alcance si se encuentran en el mismo procedimiento almacenado, función o lote.

royrojas 18/01/2008 13:35

Re: obtener nuevo cod con sprocedure en identity
 
iislas, estas en lo correcto.

hector2c, ahi es cuestion de lo que te sirve mas, debes analizar por ejemplo en este caso, cual de las dos opciones te conviene mejor para tu sistema.


La zona horaria es GMT -6. Ahora son las 20:51.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.