我在表A中有两条记录。这有助于我更新表2,但是没有应用更新。这是SQL代码,我添加了一个验证部分,允许我确定问题。
DECLARE abc CURSOR FOR select d.cod_suc, d.cod_ramo_comercial, d.nro_pol, d.cod_item, d.cod_ramo_tecnico, d.cod_tarifa, d.id_stro, d.nro_stro, d.fec_hora_reclamo, d.fec_aviso, d.fec_registro, d.fec_ingreso_contable, d.txt_place_of_accident, d.id_substro, d.txt_nombre_cober, d.txt_direccion_bien_siniestrado, d.txt_descripcion_perdida, d.txt_cheque_a_nom, d.cod_manager_code, d.importe_pago_eq from table1 d where d.fec_hora_reclamo between '20140801' and '20150731' and (d.cod_suc = 2 and d.cod_ramo_comercial = 255 and d.nro_pol = 1000001 and d.cod_item = 5) OPEN abc FETCH abc INTO @cod_suc, @cod_ramo_comercial, @nro_pol, @cod_item, @cod_ramo_tecnico, @cod_tarifa, @id_stro, @nro_stro, @fec_hora_reclamo, @fec_aviso, @fec_registro, @fec_ingreso_contable, @txt_place_of_accident, @id_substro, @txt_nombre_cober, @txt_direccion_bien_siniestrado, @txt_descripcion_perdida, @txt_cheque_a_nom, @cod_manager_code, @importe_pago_eq WHILE (@@FETCH_STATUS = 0) BEGIN select @varIDPV = min(id_pv), @varCodTarifa = min(cod_tarifa) from #portfolio p where p.cod_suc = @cod_suc and p.cod_ramo_comercial = @cod_ramo_comercial and p.Poliza = @nro_pol and p.Item = @cod_item and p.cod_ramo_tecnico = @cod_ramo_tecnico and p.[ID Incident] IS NULL /************************************************************************************************************** -- Validation section -- First record: mid(id_pv) = 100, min(cod_tarifa) = 1 -- Second record: mid(id_pv) = 100, min(cod_tarifa) = 1 --> Should be mid(id_pv) = 100, min(cod_tarifa) = 2 */ select min(id_pv), min(cod_tarifa) from #portfolio p where p.cod_suc = @cod_suc and p.cod_ramo_comercial = @cod_ramo_comercial and p.Poliza = @nro_pol and p.Item = @cod_item and p.cod_ramo_tecnico = @cod_ramo_tecnico and p.[ID Incident] IS NULL /**************************************************************************************************************/ update p set p.[ID Incident] = @id_stro, p.[No. Incident] = @nro_stro, p.[Fecha Accidente] = @fec_hora_reclamo, p.[Fecha Notificacion] = @fec_aviso, p.[Fecha Registro] = @fec_registro, p.[Fecha Pago] = @fec_ingreso_contable, p.[Lugar Accidente] = @txt_place_of_accident, p.[ID Subsiniestro] = @id_substro, p.[Cobertura Amparo] = @txt_nombre_cober, p.[Direccion Bien Siniestrado] = @txt_direccion_bien_siniestrado, p.[Descripcion Perdida] = @txt_descripcion_perdida, p.[Pago A] = @txt_cheque_a_nom, p.[Referida] = @cod_manager_code, [Incurrido R12] = @importe_pago_eq, [Incurrido Cerrados R12] = @importe_pago_eq from #portfolio p where p.cod_suc = @cod_suc and p.cod_ramo_comercial = @cod_ramo_comercial and p.Poliza = @nro_pol and p.Item = @cod_item and p.cod_ramo_tecnico = @cod_ramo_tecnico and p.[ID Incident] IS NULL and p.id_pv = @varIDPV and p.cod_tarifa = @varCodTarifa FETCH abc INTO @cod_suc, @cod_ramo_comercial, @nro_pol, @cod_item, @cod_ramo_tecnico, @cod_tarifa, @id_stro, @nro_stro, @fec_hora_reclamo, @fec_aviso, @fec_registro, @fec_ingreso_contable, @txt_place_of_accident, @id_substro, @txt_nombre_cober, @txt_direccion_bien_siniestrado, @txt_descripcion_perdida, @txt_cheque_a_nom, @cod_manager_code, @importe_pago_eq END CLOSE abc DEALLOCATE abc
当我看到结果时,只更新了第一条记录。
答案 0 :(得分:0)
我发现了问题。我忘了在更新中添加一个条件(在哪里)。感谢您的支持