Ver Mensaje Individual
  #8 (permalink)  
Antiguo 12/08/2012, 17:54
hondaalberto38
 
Fecha de Ingreso: agosto-2012
Mensajes: 13
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Crear Trigger para Generar Numero de Serie en SQL Server 2008 Express

Muchas Gracias Libras por toda la Ayuda que me has Ofrecido Tu código me Funciona a la Perfección.

Me Gustaria Saber como podria agregar una condición que valide si el Campo Ultimo_Utilizado esta Vacio o sea Null que le asigne a la Factura el Ncf que este en el Campo Número Inicial de lo contrario que incremente el Ultimo_Utilizado que es lo que hace el siguiente trigger:

USE [Prueba]
GO
/****** Object: Trigger [dbo].[TI_Factura] Script Date: 08/13/2012 19:26:23 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[TI_Factura] ON [dbo].[Factura] FOR INSERT AS


declare @valor varchar(19)
declare @cadena varchar(19)
declare @numero int
declare @x int
declare @serie varchar(19)

DECLARE @CADENA2 varchar(19)
DECLARE @Prueba varchar(19)

SELECT @valor=[Ultimo_Utilizado] FROM(
SELECT [Ultimo_Utilizado],convert(int,substring([Ultimo_Utilizado],12,len([Ultimo_Utilizado]))) AS numero FROM Table_3 where codigo=(Select Inserted.codigo from Inserted where Inserted.codigo = table_3.codigo)
)AS t1 ORDER BY numero DESC

SELECT @cadena=substring(@valor,12,len(@valor))
SELECT @CADENA2 =substring(@valor,1,11)
SET @numero=convert(int,@cadena)
SET @numero=@numero+1
SET @x=1
SET @serie=''

while @x <=(8-(SELECT len(convert(varchar(10),@numero))))
begin
SET @serie=@serie + '0'
SET @x=@x+1
end
SET @serie=@serie + convert(varchar(10),@numero)

Set @serie=@CADENA2 + @serie

--SET @serie='A0100100101' + @serie Si CADENA2 Funciona borrar esta linea
--INSERT INTO #temp values (@serie)

UPDATE Factura SET NCF = @serie FROM inserted
WHERE Inserted.id = Factura.id

Update Table_3
Set Ultimo_Utilizado= @serie,
Resultado = @CADENA2
--where Codigo='NCFCR'

WHERE table_3.Codigo = (Select Inserted.codigo from Inserted where Inserted.codigo = table_3.codigo)


Saludos,

hondaalberto