Retroceder   Foros del Web > Programación para sitios web > Bases de Datos > SQL Server

Respuesta
 
Herramientas Desplegado
Antiguo 11-ene-2008, 22:21   #1 (permalink)
hector2c ha deshabilitado el karma
 
Avatar de hector2c
 
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 276
Enviar un mensaje por MSN a hector2c
Pregunta 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
hector2c está desconectado   Responder Citando
Antiguo 13-ene-2008, 00:56   #2 (permalink)
royrojas está en el buen camino
 
Avatar de royrojas
 
Fecha de Ingreso: diciembre-2004
Mensajes: 383
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
__________________
roy rojas
sitio: DotNetcr.com | foro: ForosDotNet.com | blog: the news star
royrojas está desconectado   Responder Citando
Antiguo 18-ene-2008, 00:02   #3 (permalink)
hector2c ha deshabilitado el karma
 
Avatar de hector2c
 
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 276
Enviar un mensaje por MSN a hector2c
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 !
hector2c está desconectado   Responder Citando
Antiguo 18-ene-2008, 11:22   #4 (permalink)
Colaborador
iislas ha deshabilitado el karma
 
Fecha de Ingreso: julio-2007
Mensajes: 1.415
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.
iislas está desconectado   Responder Citando
Antiguo 18-ene-2008, 12:35   #5 (permalink)
royrojas está en el buen camino
 
Avatar de royrojas
 
Fecha de Ingreso: diciembre-2004
Mensajes: 383
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.
__________________
roy rojas
sitio: DotNetcr.com | foro: ForosDotNet.com | blog: the news star
royrojas está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 11:10.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93