Hola Amigos nesesito ingresar a una tabla datos de otra
mediante un procedimiento almacenado la tabla origen
contiene diferentes montos para un mismo cliente y quiero
ingresar en la tabla destino un registro con la suma de
todos los montos del cliente que estan en la tabla origen.
Como puedo hacerlo?. a continuacion les pido que porfavor
revisen este procedimiento y me corrigan, gracias.
drop proc credito
go
create proc credito
as
begin
declare @Cliente as int,
@iCantLineas as int,
@fecha as datetime,
@monto as float,
@factura as int,
@tipo as char(3),
@n as char(1),
@sa as char(2),
@dol as char(3),
@app as char(35)
select @tipo = 'N/C',
@n = 'N',
@sa = 'SA',
@dol = 'DOL',
@app = 'ABONAMOS CREDITO A FAVOR';
select @cliente = isnull(min(nocliente),0)
from dbo.ibscreditos
where nocliente > @cliente
while @cliente > 0
begin
/* Obtención de cantidad de líneas
*/
select @iCantLineas = 0
select @iCantLineas = count(*)
from dbo.ibscreditos
where nocliente = @cliente
if @iCantLineas > 0
begin
/* Obtenemos
valores de las líneas actuales */
set rowcount 1
select @cliente =
nocliente, @factura = nofactura, @monto = Sum(total)
from
dbo.ibscreditos
where nocliente =
@cliente
group by
nocliente, nofactura
order by nofactura
set rowcount 0
insert into
Galaxy.documentos_cc(Documento,
tipo,
contrarecibo,
aplicacion,
fecha_documento,
fecha,
MONTO,
SALDO,
monto_local,
saldo_local,
MONTO_DOLAR,
SALDO_DOLAR,
MONTO_CLIENTE,
SALDO_CLIENTE,
tipo_cambio_moneda,
TIPO_CAMBIO_DOLAR,
TIPO_CAMBIO_CLIENT,
TIPO_CAMB_ACT_LOC,
TIPO_CAMB_ACT_DOL,
TIPO_CAMB_ACT_CLI,
SUBTOTAL,
DESCUENTO,
IMPUESTO1,
IMPUESTO2,
RUBRO1,
RUBRO2,
MONTO_RETENCION,
SALDO_RETENCION,
DEPENDIENTE,
FECHA_ULT_CREDITO,
CARGADO_DE_FACT,
APROBADO,
ASIENTO_PENDIENTE,
FECHA_ULT_MOD,
NOTAS,
CLASE_DOCUMENTO,
FECHA_VENCE,
NUM_PARCIALIDADES,
COBRADOR,
USUARIO_ULT_MOD,
MONEDA,
CONDICION_PAGO,
CTA_BANCARIA,
VENDEDOR,
CLIENTE,
CLIENTE_ORIGEN,
CLIENTE_REPORTE,
SUBTIPO)
values(@factura,
@tipo,
NULL,
@APP,
GETDATE(),
GETDATE(),
@monto,
@monto,
0.0,
0.0,
@monto,
@monto,
@monto,
@monto,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
@monto,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
@n,
GETDATE(),
@n,
@n,
@n,
GETDATE(),
NULL,
@n,
GETDATE(),
0,
NULL,
@sa,
@dol,
0,
NULL,
NULL,
@cliente,
@cliente,
@cliente,
0)
end
select @cliente = isnull(min
(nocliente),0)
from dbo.ibscreditos
where nocliente > @cliente
end
end
go
Leer las respuestas