问题描述
- Oracle存储过程 截取字符串循环执行动作 急急急急!
-
create or replace procedure PROC_UPDATENEWSKW(newsid in number, kw in varchar2) is
i number:=0;begin
/**
1.查询标签表(jc_content_tag)是否有相同tag_name的标签,如果有则直接将此条记录的tag_id与newsid 插入jc_contenttag(新闻标签关联表)表
/
select count() into i from jc_content_tag where tag_name =kw;
if i>0 then
insert into jc_contenttag (tag_id,content_id,priority) values ((select tag_id from jc_content_tag where tag_name = kw and rownum=1),newsid,1);
else
/**
2.将kw插入标签表 tag_id 序列自增
/
insert into jc_content_tag (tag_id,tag_name) values (S_JC_CONTENT_TAG.NEXTVAL,kw);
/*
3.将内容标签中不存在标签的记录 tag_id 更新。
*/
insert into jc_contenttag (tag_id,content_id,priority) values ((select tag_id from jc_content_tag where tag_name = kw and rownum=1),newsid,1);
end if;
commit;
end PROC_UPDATENEWSKW;这个存储过程只能应对带个字符串的情况,假如传进来的kw参数 格式为 1,2,a,c,呵,呵
我首先需要截取这些字符串 然后 for 或者loop 来循环 执行以上的操作那么问题来了,存储过程怎么截取字符串并且执行循环操作,十万火急!