FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Generar codigo en SQL Server
Hola amigos del foro, quiero que me ayuden con esto:
Les comento que estoy trabajando en una aplicacion que va a trabajar en red y la base de datos es SQL server. lo que pasa es que tengo una duda con los clientes al momento de registrarlos, lo que hago es generar un codigo de cliente ejem 000001, este codigo lo genero de un campo de la tabla clientes y lo muestro en un TEdit en el form, hasta ahi bien. supongamos que mientras yo estoy llenando el resto de informacion del cliente otro usuario tambien quiere dar de alta otro cliente el codigo que va a generar va a ser el mismo 000001. ¿ Como hago para decirle al otro usuario que el codigo 000001 es mio y por lo tanto el tiene que generar el 000002 ? estoy utilizando este codigo para coger el numero mas alto del campo en delphi, pero que tengo que hacer con SQL Server. Estoy utilizando la version 2012 Express.
|
#2
|
||||
|
||||
Cita:
Cambia el por el
Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber. |
#3
|
||||
|
||||
Sql
Te recomiendo que manejes transacciones para SQL y asi te evitas que si tu tomaste el 1 y el sigue con el 2.....saludos
|
#4
|
|||
|
|||
Gracias, pense que la ayuda ya no llegaría. Creo que lo que necesito son transacciones para SQL, Gracias Ferrari.
gracias olbeup . |
#5
|
||||
|
||||
Hola Camiz,
También puedes definir el campo autoincremental. Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber. |
#6
|
||||
|
||||
Cita:
Porque es equivocada? Porque genera un punto de contención (= un cuello de botella) en la BD, asi que ha menos que tengas que *garantizar* por regulacion que hay un consecutivo fijo (como en ciertos paises con las facturas), no te pongas en esas. Ademas, es *ideal* que las claves de las tablas *carezcan* de sentido en la logica de negocios, y solo sirvan como punteros para llegar al registro, hacer relaciones y demas. Son las claves naturales (como # de cedula, nombre pais) las que le importan al usuario, y esas tienden a ser unicas. Ademas, hacer esto desde Delphi? eso ya ES TARDE. Del lado del cliente ya ha pasado tiempo (mas aun si el servidor se accede remoto) y pa rematar el usuario se puede ir a tomar un cafe o dejar un proceso a medias. Todo esto se debe hacer directamente desde el motor, para reducir el margen de contención. Solo hay UN caso de uso donde se puede desde el cliente generar IDS: si estos son del tipo GUID o similares. ----- Pa no dejarte en ascuas, la forma tradicional es usar una tabla de consecutivos (con tabla, campo, siguiente consecutivo), y con triggers se obtiene y aumentan los tales y se asignan al campo en particular. Pero NO lo hagas si es solo algo "estetico" o por que si. Las facturas/documentos legales es quizas de los pocos casos donde es una solucion valida.
__________________
El malabarista. |
#7
|
||||
|
||||
Yo hago algo similar, pero NUNCA mando como parametro ese "codigo" que le muestro en pantalla en un INSERT
Se lo presento ahi a modo de decirle, vas a cargar el cliente 531, por si despues lo quiere buscar rapidamente. Si cuando lo graba resulta que le toco el Id 540 se lo notifico y listo Totalmente de acuerdo con el uso de columnas autonumericas |
#8
|
||||
|
||||
Cita:
Como segundo paso que utilices transacciones. Y como tercero que pases esa lógica al SGBD. Por ese orden.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
generar codigo SQL | enriqueth | SQL | 1 | 21-02-2011 11:23:22 |
generar codigo | Rofocale | Varios | 1 | 28-10-2010 12:25:27 |
generar codigo de barras | jmlifi | Impresión | 7 | 18-06-2007 17:04:03 |
generar codigo de barras | pipe | Varios | 13 | 21-02-2007 20:54:58 |
Generar un bakup en SQL Server!!! | subzero | MS SQL Server | 1 | 11-02-2004 19:56:09 |
|