当前位置: 首页 > 知识库问答 >
问题:

在同一表中插入记录后,过程中未进行更新

汪博艺
2023-03-14

在游标和循环的帮助下,我将记录插入表中。关闭游标后,我编写了update语句来更新游标插入的一些记录,这样reords就不会更新。但我在外面进行了查询,然后更新了记录

我的尝试是删除程序,如果存在kpsf_inopdormantac;

create procedure kpsf_inopdormantac(inp_branchcode varchar(6), inp_date date)

begin  declare c_branchcode varchar(6);
declare c_accounttype varchar(4); 
declare c_accountsubtype varchar(6); 
declare c_accountno varchar(12);
declare c_lasttxndate date;
declare c_inopdate date;
declare c_temp varchar(25);

declare c1 cursor for SELECT
branchcode, accounttype, accountsubtype, accountno, lasttxndate, inoperativedate FROM accountmaster WHERE branchcode = inp_branchcode AND accounttype in ('10','11') AND accountstatus!='C' AND lasttxndate < ( SELECT date_add(inp_date,interval -24 month));

truncate table inopdormantac;
commit;
open c1;
loop1:loop fetch c1 into c_branchcode, c_accounttype, c_accountsubtype, c_accountno, c_lasttxndate, c_inopdate;

INSERT into inopdormantac (branchcode, accounttype, accountsubtype, accountno, acstatus, lasttxndate, inopdate)
VALUES 
(c_branchcode, c_accounttype, c_accountsubtype, c_accountno, 'InOperative', c_lasttxndate, c_inopdate);

end loop loop1;
close c1;
set c_temp='InActive';

update inopdormantac SET acstatus = c_temp WHERE lasttxndate < ( SELECT
date_add('2015-10-06',interval -120 month));
end;

请帮帮我

共有1个答案

唐恺
2023-03-14

您可能在安全更新模式下运行数据库实例。请参阅另一个已经回答的问题: MySQL工作台更新期间的错误代码: 1175

 类似资料:
  • 问题内容: 我有一张桌子Cars and CarDescriptions cars:IDCar(int,PK,autoincrement)carsDesciptions(IDDescription,Header(nvarchar),Content(nvarchar),idCar(int,FK) 在应用程序中,我正在添加汽车并编辑现有汽车。 我的问题: 1.如何在数据库中保存更改后的带有描述的Car

  • 问题内容: 这是我想做的事情: 当表中有新记录时,我需要通过设置以表示特定(旧)帐户已被编辑来更新where =中的行。 要求 不是 我要操纵 新插入的 列,而是要使用一个 已经存在的 列 但是,我无法更新同一张表: 请提出解决方法 PS:我已经走过了更新表触发器在同一个表更新后,插入到相同的表触发的mysql,更新与后同桌INSERT触发器和表后插入MySQL的触发器与插入和更新,但他们似乎没有

  • 问题内容: 我要在tableA上写一个插入触发器。它将使用相同的表但不同的列执行更新。执行此操作时出现错误。我的触发器是 我有一个应用程序将单独执行col2并将col1保持为空。因此,一旦插入行,我的触发器将为col1提供值。但是插入行时出现错误消息,提示“触发器失败且无效”。这该怎么做。TIA。 问题答案: 如果要分配一个简单的默认值,最简单的方法是使用DEFAULT子句在表上声明它。 这适用于

  • 这是我的php文件...我想在第二个表成功插入后更新第一个表,我要选择并正确插入,但我想更新的行在数据插入后没有更新。 有人能告诉我如何写这在PHP mysqli程序的方式。

  • 我的应用程序由spring@transaction和hibernate组成。我正在尝试使用hibernate拦截器。我把拦截器注册为 实际的拦截器扩展了EmptyInterceptor,我正在重写onSave()方法。 问题是调用了interceptor onSave()方法,但在此之后,实际实体不会插入到数据库中。

  • 我正在尝试更新 DB2 中的同一表中是否存在(如果不存在)或插入。 我有一个表“V _ OPORNAC”(scheme是SQLDBA),它包含三列,其中有两个主键:IDESTE (PK)、IDEPOZ (PK)、OPONAR 我的情况是,如果IDESTE=123456和IDEPOZ=0的数据(OPONAR)不存在,则插入新行,如果存在,则更新(OPONAR)。我试过这样做: 执行上面的代码,我得到