使用游标值动态组合并在插入行时使用它

时间:2017-05-03 05:05:02

标签: sql oracle

我在游标中提取值,例如来自名为my_table的表,并且根据条件可能会返回a,b,c,d等。现在使用这些值我需要准备a,ab,ac,ad的组合,b,bc,bd,c,cd等。我想在另外2个表中插入行时使用这些值,在一个表中我将在一列中使用组合值,而在另一个表中我将使用在组合中单独使用的原始值。插入数据时,第一个表id将是第二个表的FK。如何实现同样的目标。

1 个答案:

答案 0 :(得分:0)

您可以执行如下所述的操作,根据您的要求更改代码。

  CREATE OR REPLACE TRIGGER my_table_trg
   AFTER INSERT
   ON my_table
   FOR EACH ROW
DECLARE
   CURSOR comb_values
   IS
      SELECT .......;
BEGIN
   FOR i IN comb_values
   LOOP
      INSERT INTO table1
           VALUES (i.combination_values);

      INSERT INTO table2
           VALUES (i.non_combination_values);
   END LOOP;
END;