Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 24-02-2022
PepCat PepCat is offline
Miembro
 
Registrado: mar 2017
Posts: 96
Poder: 10
PepCat Va por buen camino
Hola,

Yo también creo que lo mejor es tener un tabla de contadores separado para esta situación y para ejecutarlo podrias crear un stored procedure que haria todo el proceso en una sola llamada (sin transacciones):

Código SQL [-]

CREATE PROCEDURE [dbo].[ReservarCodigoAsiento] 
  @Anyo int, 
  @NumeroAsiento int OUTPUT
AS
BEGIN
  SET NOCOUNT ON;

  SET @NumeroAsiento = -1;
 
  UPDATE ContadorAsientos
  SET @NumeroAsiento = Contador = Contador + 1
  FROM ContadorAsientos C
  WHERE C.Anyo = @Anyo

  if @NumeroAsiento = -1
  BEGIN
    -- No existe contador para este año, lo creo
    SET @NumeroAsiento = 1
    INSERT INTO Contadores Values(@Anyo, @NumeroAsiento)
  END

  INSERT INTO TABLA (CODIGO, CODIGO_LINEA, ANYO, OTROS CAMPOS ....) 
    VALUES(@NumeroAsiento, 0, @Anyo, ...)

END


y desde Delphi podrias hacer una llamada al store procedure parecido a esto

Código Delphi [-]

  var Anyo: Integer := YearOf(Date);

  StoredProc.StoredProcName := 'ReservarCodigoAsiento';
  StoredProc.Params(ftInteger, -1, ptInput);
  StoredProc.Params(ftInteger, -1, ptOutput);

  StoredProc.Params[0].AsInteger := Anyo;

  StoredProc.ExecProc;

  var NumeroAsiento: Integer := StoredProc.Params[1].asInteger;
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Manejo de transacciones en Delphi y SQL Server Lechu Conexión con bases de datos 2 01-07-2014 03:44:07
Manejo de transacciones en SQL server look SQL 6 21-08-2008 17:27:17
Transacciones y Sql Server Johnny Q Conexión con bases de datos 4 09-12-2005 20:45:35
transacciones, concurrencia, delphi y MySQL.... inexperto MySQL 0 10-01-2005 21:31:01
Transacciones Sql Server Investment SQL 1 13-01-2004 11:07:10


La franja horaria es GMT +2. Ahora son las 11:56:51.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi