I would like to write an Update query. I need to update target_table field in tblnames1 based on tblenames2.
tblNames1:
| filename | Description | target table |
|---|---|---|
| /app/data/shared/mbs/test.yaml | select * from test.fn_hierarchy_prod_group(1); | |
| /app/data/shared/nkm/test1.yaml | select *from run_update_query | |
| /app/data/shared/nkm/test5.yaml | select *from func_datad_addr_1 | |
| /app/data/shared/nkm/test2.yaml | INSERT INTO a_base(evnt_nbr,triggering_evnt,)SELECT evnt_nbr,triggering_evnt FROM delim; |
tblNames2:
| ID | Description | target table |
|---|---|---|
| 1082 | test.fn_hierarchy_prod_group | dba.l,dba.z |
| 1091 | func_datad_addr | dba.n |
| 1099 | fn_hierarchy_customer | dba.m |
| 1100 | run_update_query | dba.j |
Output - scenario 1 : Compare field description of tblnames2 in tblnames1 description field. Example : Description of tblnames2: test.fn_hierarchy_prod_group exact match present in description of tblname1 select * from test.fn_hierarchy_prod_group(1); then there are 2 targets so populate into 2 different rows i.e one with dba.l and other with dba.z.
Scenario 2:If there is nothing matching in description then check if description in tblnames1 is insert sql example :
INSERT INTO **a_base**(evnt_nbr,triggering_evnt,)
SELECT evnt_nbr,triggering_evnt
FROM delim
then populate target tablename after into clause i.e a_base.
Output :
| filename | Description | target table |
|---|---|---|
| /app/data/shared/mbs/test.yaml | select * from test.fn_hierarchy_prod_group(1); | dba.l |
| /app/data/shared/mbs/test.yaml | select * from test.fn_hierarchy_prod_group(1); | dba.z |
| /app/data/shared/nkm/test1.yaml | select *from run_update_query | dba.j |
| /app/data/shared/nkm/test5.yaml | select *from func_datad_addr_1 | |
| /app/data/shared/nkm/test2.yaml | INSERT INTO a_base(evnt_nbr,triggering_evnt,)SELECT evnt_nbr,triggering_evnt FROM delim; | a.base |