Numero de Linia de Pedido

31/08/2006 - 12:49 por Silviall | Informe spam
Hola a todos,

Para numerar los pedidos utilizo una serie de numeraciones que permite
entrar pedidos concurrentamente. Pero la pregunta es, para numerar las
lineas de pedido, que es Max(liniaspedido)+1, o hay alguna formula que
permita la concurrencia.
Agradeceria cualquier consejo.

Muchas grácias,

SilviaLl.

Preguntas similare

Leer las respuestas

#1 Julio Moncisbays
31/08/2006 - 16:06 | Informe spam
Lo mejor es que en la base de datos, cambies el tipo de datos de la columna
que lamacena dicha linea de pedido a autonumérica en el caso de SQL Server,
con esto, cuando hagas un Insert, no tendrás que incluír dicho campo; para
Oracle, utiliza secuencias, que te incrementan automáticamente el valor del
campo.

Espero te sirva
- Julio Moncisbays
MX


"Silviall" escribió:

Hola a todos,

Para numerar los pedidos utilizo una serie de numeraciones que permite
entrar pedidos concurrentamente. Pero la pregunta es, para numerar las
lineas de pedido, que es Max(liniaspedido)+1, o hay alguna formula que
permita la concurrencia.
Agradeceria cualquier consejo.

Muchas grácias,

SilviaLl.



Respuesta Responder a este mensaje
#2 Lluís Franco
31/08/2006 - 16:56 | Informe spam
:-)
Hola,

Tienes varias opciones:

- Puedes usar un campo IDENTITY (autoincremental), de forma que la base de
datos se encarga de gestionar los valores por ti. Tiene la ventaja de que
son muy fáciles de implementar pero por contra no se pueden modificar los
valores.
- Usar un sistema basado en una tabla de contadores. Tienes una tabla en la
que almacenas los valores de n contadores de documentos. Cuando debes
insertar un registro inicias una transacción, lees el valor del contador en
la tabla de contadores, le sumas uno y actualizas la tabla de contadores.
Posteriormente guardas el registro (pedido) con el nuevo valor incrementado,
y si todo ha ido bien terminas la transacción con éxito. Es más complejo de
implementar pero tienes absoluto control sobre el proceso de incremento (y
aparte puedes actualizar el valor del campo).
- Uso de GUID's (Globally Unique Identifier). Son valores pseudo-aleatorios
únicos generados por un algoritmo, de forma que puedes usarlos como claves
para tus tablas. Son admitidos en Oracle, SQL Server (mediante la función
"NewID()" en el valor por defecto del campo). No son tan intuitivos como los
valores enteros (un ejemplo de GUID: {3F2504E0-4F89-11D3-9A0C-0305E82C3301})
pero son muy recomandables sobre todo en entornos con datos desconectados.

Saludos,

Lluís Franco i Montanyés
[MS-MVP-MCP Visual Basic]
Web: http://www.uyssoft.com
Blog: http://msmvps.com/lfranco
(Guía de netiquette del foro)
http://www.uyssoft.com/MSNews.aspx?sm
FIMARGE, S.A.
Principat d'Andorra

Tel.: +376 805 100
Fax: +376 824 500
Mi Perfil MVP en:
https://mvp.support.microsoft.com/profileaa1615-1a2f-4202-bc3f-aec297d967d2
This posting is provided "AS IS" with no warranties, and confers no rights.
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho
Respuesta Responder a este mensaje
#3 Eduardo Alvarado Meza
31/08/2006 - 20:21 | Informe spam
Silvia, ya hay post reciente sobre eso contestado por Maxi y Leonardo,
expuesto por "Tadeo Giner" el 23/08/2006 bajo el asunto de "No Pedido".
Revisalo, no te pongo la respuesta o parte de ella porque los creditos son
de ellos.
Respuesta Responder a este mensaje
#4 Maxi
01/09/2006 - 16:06 | Informe spam
:-)


Salu2

Microsoft MVP SQL Server
Culminis Speaker
INETA Speaker

"Eduardo Alvarado Meza" <ealvarado_15@(eliminarestetexto)hotmail.com>
escribió en el mensaje news:
Silvia, ya hay post reciente sobre eso contestado por Maxi y Leonardo,
expuesto por "Tadeo Giner" el 23/08/2006 bajo el asunto de "No Pedido".
Revisalo, no te pongo la respuesta o parte de ella porque los creditos son
de ellos.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida