我想复制前一行数据,修改几列并插入同一表中,但不想使用,因为列列表插入选择很大。 下面是我的方块:
`
DECLARE
CURSOR CUR_ACC_SCH IS
`SELECT *
FROM TB_ACCOUNT_SCH
WHERE COMP_NAME in ('INT', 'PRINCIPAL')
and ACCOUNT_NUMBER = '0001111111111'
and SCHEDULE_DUE_DATE = '10-DEC-2010';`
ROW_ACC_SCH CUR_ACC_SCH%ROWTYPE;
BEGIN
OPEN CUR_ACC_SCH;
FETCH CUR_ACC_SCH
INTO ROW_ACC_SCH;
CLOSE CUR_ACC_SCH;
ROW_ACC_SCH.SCHEDULE_ST_DATE := '10-DEC-2010';
ROW_ACC_SCH.SCHEDULE_DUE_DATE := '30-DEC-2010';
ROW_ACC_SCH.AMOUNT_DUE := 0;
ROW_ACC_SCH.AMOUNT_SETTLED := 0;
ROW_ACC_SCH.ACCRUED_AMOUNT := null;
ROW_ACC_SCH.SCHEDULE_LINKAGE := '30-DEC-2010';
ROW_ACC_SCH.LAST_PMNT_VALUE_DATE := null;
ROW_ACC_SCH.SCHEDULE_NO := 26;
INSERT INTO TB_ACCOUNT_SCH VALUES ROW_ACC_SCH;
--commit;
END;
/`
问题是我在ACCOUNT_NUMBER,BRANCH_CODE,COMP_NAME,SCHEDULE_DUE_DATE,SCHEDULE_ST_DATE列上具有唯一键索引。 光标选择2行。要复制和修改,然后插入这2行。 系统应复制游标行数据并使用comp_name的初始化列对其进行修改,然后插入以避免唯一键冲突。 在上面的块中,我初始化的列希望对两行都进行更新。
,我要插入的新行在comp_name中仅具有唯一性。在上面的块中,只有1行数据被插入,而不是其他comp_name。我不想初始化所有记录,因为再次插入select的目的出现在图片中。我想插入单个集合名称,如下所示 “将INSERT INTO TB_ACCOUNT_SCH VALUES ROW_ACC_SCH;”