业务逻辑我能描述,但实现的代码,我不太会写,有没有高手帮我看下该如何写。
需求描述:我两个表
写一个循环从A表中取出 KEYWORDS 字段然后判断这个字段是否出现在B表的 '名称' OR '牌子 'OR '类型' 字段中 如果出现将A表字段对应的CODE插入到B表的CODE字段中。
举例 循环第一个抓到了3系 然后 与TABLE B 中 名称、牌子、类型做LIKE 查询是否在这三个字段中 如果存在 B表 第一行CODE 字段变为 01 ,完成一次循环。
---------------------------------这个是我写的一个想象的代码,但有些步骤不知道怎么写,有大神能帮我补全吗。
create or replace procedure testProc_guo
as
cursor cur is select keywords,brand_code from TMP_GUOSHOU_dim_test;
keywords varchar(100);
brand_code varchar(100);
cursor cur2 is select vehicle_brand_name,vehicle_series_name,vehicle_model_name from tmp_guoshou_guoyubo;
vehicle_brand_name varchar(100);
vehicle_series_name varchar(100);
vehicle_model_name varchar(100);
Begin
open cur;
fetch cur into keywords;
while cur%found loop
dbms_output.put_line(keywords);
fetch cur into keywords;
end loop;
open cur2;
fetch cur2 into vehicle_brand_name,vehicle_series_name,vehicle_model_name;
--做一个A表和B表的判断 得到对应的 brand_code 我想把 这个brand_code 和 名称 牌子 类型 这三个字段一起放到一个新表里面这块不太会写
loop
case when vehicle_brand_name like '%'||keywords||'%' or
vehicle_series_name like '%'||keywords||'%' or
vehicle_model_name like '%'||keywords||'%'
then cur1.brand_code
end
end loop;
insert into nmlz_veh_model_custom_guo (vehicle_brand_name,vehicle_series_name,vehicle_model_name,brand_code)
values (cur2.vehicle_brand_name,cur2vehicle_series_name,cur2vehicle_model_name,cur.brand_code)
close cur;
close cur2;
Exception
When others then
Rollback;
End;