2 xihuarenliwei xihuarenliwei 于 2014.11.05 16:51 提问

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 来循环 执行以上的操作那么问题来了,存储过程怎么截取字符串并且执行循环操作,十万火急!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!