我有两个现有的表,并且已经添加了许多记录。
formula(formulaId,formulaName,formulaType)
and formula_detail(detailId,formulaId,fieldType,value)
现在公式表发生了变化,正在添加新列,branchId为
formula(formulaId,formulaName,formulaType,branchId),
and branch table is branch(branchId,branchName)
我想复制并粘贴每个分支的公式表中的每个现有记录。 例如,如果公式表(ID为1,2,3)和2个分支中有3个现有记录。然后复制粘贴操作应在公式表中生成总新(3 * 2)= 6条记录,并在每个新创建的公式中复制formula_detail表中的记录,如下所示
表示formulaId 1,如果formula_detail表中有5条记录,那么form form_detail表中的复制粘贴将在formual_detail表中添加(2 * 5)个新记录。
我尝试了一些解决方案,但是数量很大,脚本需要时间。请帮忙。如果需要我可以添加的任何测试代码。
答案 0 :(得分:0)
首先,在详细信息表中复制相同的列是针对数据模型中使用的规范化表单。
仍然如果你想要添加列,
ALTER
语句添加列尝试使用此Merge
语句
MERGE INTO formula_detail fd
USING (SELECT formulaId, branchId from Formula) temp
ON (fd.formulaId=temp.formulaId)
WHEN MATCHED THEN
UPDATE SET fd.branchId=temp.branchId;