Cadena

15/01/2007 - 05:29 por Julio Ramos | Informe spam
Hola Grupo

Tengo que insertar un numero de factura en el campo Numero_factura que
corresponde a la tabla Factura,
El numero de factura esta Compuesto de 19 Carateres de las cuales 11 son
fijo y el resto el numero que se va incrementando.
Tengo un Store Procedure para realizar el Insert pero no encuentro la forma
de insertarlo debido a que hay que ir incrementando el numero.
Basicamente no se la forma de concatenarlo el numero fijo y la secuencia que
se va incrementando.

Ejemplo

Tabla "Numero_comprobante"
ComprobanteID Nombre Serie Min Max
Ultimo_numero
1 Fiscal 1aaaaaaaaa 1
3000 2


Tabla Factura

facturaId Numero_factura
1 1aaaaaaaaa00000001
2 1aaaaaaaaa00000002


Paso la tabla


CREATE TABLE [dbo].[Factura](
[FacturaID] [int] IDENTITY(1,1) NOT NULL,
[SuplidorID] [int] NULL,
[ContribuyenteID] [int] NULL,
[Factura_numero] [int] NULL,
[NCF] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Requisicion_numero] [varchar](10) COLLATE SQL_Latin1_General_CP1_CI_AS
NULL,
[Fecha] [datetime] NULL DEFAULT (getdate()),
[Tipo_factura] [int] NULL,
[Condicion] [bit] NULL CONSTRAINT [DF_Factura_NCF_Condicion] DEFAULT
((0)),
PRIMARY KEY CLUSTERED
(
[FacturaID] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
go
CREATE TABLE [dbo].[Numero_Comprobantes](
[ComprobanteID] [int] IDENTITY(1,1) NOT NULL,
[Tipo] [int] NULL,
[Nombre] [varchar](200) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Serie] [varchar](30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Minimo] [int] NULL,
[Maximo] [int] NULL,
[Ultimo_Utilizado] [int] NULL,
[Restante] AS ([Maximo]-[Ultimo_utilizado]),
[Secuencia] [varchar](11) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
 

Leer las respuestas

#1 Luis Tarzia
15/01/2007 - 06:44 | Informe spam
insert into tabla ( campo cadena) values 'A0001-0000' +
REPLICATE('0',8-LEN(LTRIM(RTRIM(CONVERT(CHAR(8),CAMPORNUMERICO))))) +
CONVERT(VARCHAR(8),CAMPONUMERICO)
"Julio Ramos" wrote in message
news:
Hola Grupo

Tengo que insertar un numero de factura en el campo Numero_factura que
corresponde a la tabla Factura,
El numero de factura esta Compuesto de 19 Carateres de las cuales 11 son
fijo y el resto el numero que se va incrementando.
Tengo un Store Procedure para realizar el Insert pero no encuentro la


forma
de insertarlo debido a que hay que ir incrementando el numero.
Basicamente no se la forma de concatenarlo el numero fijo y la secuencia


que
se va incrementando.

Ejemplo

Tabla "Numero_comprobante"
ComprobanteID Nombre Serie Min


Max
Ultimo_numero
1 Fiscal 1aaaaaaaaa 1
3000 2


Tabla Factura

facturaId Numero_factura
1 1aaaaaaaaa00000001
2 1aaaaaaaaa00000002


Paso la tabla


CREATE TABLE [dbo].[Factura](
[FacturaID] [int] IDENTITY(1,1) NOT NULL,
[SuplidorID] [int] NULL,
[ContribuyenteID] [int] NULL,
[Factura_numero] [int] NULL,
[NCF] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Requisicion_numero] [varchar](10) COLLATE SQL_Latin1_General_CP1_CI_AS
NULL,
[Fecha] [datetime] NULL DEFAULT (getdate()),
[Tipo_factura] [int] NULL,
[Condicion] [bit] NULL CONSTRAINT [DF_Factura_NCF_Condicion] DEFAULT
((0)),
PRIMARY KEY CLUSTERED
(
[FacturaID] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
go
CREATE TABLE [dbo].[Numero_Comprobantes](
[ComprobanteID] [int] IDENTITY(1,1) NOT NULL,
[Tipo] [int] NULL,
[Nombre] [varchar](200) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Serie] [varchar](30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Minimo] [int] NULL,
[Maximo] [int] NULL,
[Ultimo_Utilizado] [int] NULL,
[Restante] AS ([Maximo]-[Ultimo_utilizado]),
[Secuencia] [varchar](11) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,






Preguntas similares