Insertar Registros en Tabla SQL

104 views
Skip to first unread message

Anibal Alexander Carucí

unread,
Oct 27, 2020, 8:08:31 PM10/27/20
to Comunidad de Visual Foxpro en Español
Saludos, agradecido de antemano por su tiempo y la disposición de querer ayudar.

Estoy haciendo un ejercicio en SQL Server Vs Visual fox pro 9.0

Selecciono el Nro de Casas que Contiene una Calle X dicha cantidad la almaceno en nRegistro

thisform.codigo_calle  = cur_calles.cod_calle

cCod_calle = thisform.codigo_calle 

cn =SQLSTRINGCONNECT(_screen.cn )
SQLEXEC(cn,"exec usp_cargacasa ?cCod_calle;","cur_casa")
SQLDISCONNECT(cn)

SELECT cur_casa
GO TOP IN cur_casa

nRegistro = RECCOUNT("cur_casa")
thisform.lbl_casas.Caption = STR(nRegistro)

La idea es que dependiendo de la cantidad almacenada en nRegistro (cantidad de Casas segun la Calle), se inserten en una tabla llamada Deuda los siguientes parametros:

cCodCalle
cCodCasa
cCodConcepto
nMontoConcepto
cDesAno
cDesMes

En resumen debe generar para cada casa (cCodCasa), el concepto (cCod_concepto), el monto del mismo (nMonto_concepto) el año(cDesAno) y el mes correspondiente(cDesMes)

Agradecido por la orientación!


Aarón Delgado

unread,
Oct 28, 2020, 8:26:38 AM10/28/20
to publice...@googlegroups.com
Buenos días Anibal 

Veo que estás usando SP, y como es un proceso que quizás se ejecute en servidor remoto, sugiero que toda la lógica de tu resumen esté dentro de tu SP.

Saludos cordiales;

DELGADO JAIMES, Roberto Aarón
Fijo: 013969545 /  Movistar: 988316319



--
Visita el Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/publicesvfoxpro/a1e70c6b-66d0-4dd0-b216-876f85b535beo%40googlegroups.com.

ZeRoberto

unread,
Oct 28, 2020, 8:56:38 AM10/28/20
to publicesvfoxpro

Anibal Alexander Carucí

unread,
Oct 29, 2020, 5:43:33 PM10/29/20
to Comunidad de Visual Foxpro en Español
Este procedimiento me funcionó, gracias a todos por su apoyo!!!!


alter procedure usp_generadeuda
@cCod_calle varchar(3),
@cCod_concepto varchar(2),
@nMonto numeric (10,2),
@cDes_mes varchar(15),
@cDes_ano varchar(4),
@cEstado_deuda varchar(1),
@cEstatus_deuda varchar(1)
as
declare @cCod_casaurba varchar(3)
declare cur_casas cursor for select cod_casaurba from tb_casasurba where cod_calle = @cCod_calle;
open cur_casas
fetch next from cur_casas into @cCod_casaurba
while @@FETCH_STATUS = 0
begin
insert into tb_deudas(cod_casaurba,
cod_concepto,
mto_concepto,
des_mes,
des_ano,
estado_deuda,
estatus_deuda)
values(@cCod_casaurba,
@cCod_concepto,
@nMonto,
@cDes_mes,
@cDes_ano,
@cEstado_deuda,
@cEstatus_deuda);
fetch next from cur_casas into @cCod_casaurba
end
close cur_casas
deallocate cur_casas
go

Aarón Delgado

unread,
Oct 29, 2020, 11:44:00 PM10/29/20
to publice...@googlegroups.com
Hola Anibal, puedes optimizar la inserción y sería rapido:

insert into tb_deudas(cod_casaurba,
          cod_concepto,
          mto_concepto, 
          des_mes, 
          des_ano, 
          estado_deuda,
estatus_deuda) 
SELECT Cod_casaurba,
Cod_concepto,
Monto,
Des_mes,
cDes_ano,
cEstado_deuda,
cEstatus_deuda FROM tb_casasurba where cod_calle = @cCod_calle;


Saludos cordiales;

DELGADO JAIMES, Roberto Aarón
Fijo: 013969545 /  Movistar: 988316319


--
Visita el Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages