oracle存储过程-Oracle存储过程 截取字符串循环执行动作 急急急急!

问题描述

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

时间: 2024-11-01 13:11:06

oracle存储过程-Oracle存储过程 截取字符串循环执行动作 急急急急!的相关文章

substring-c# 截取字符串的问题 如果在一串字符中id 在100行

问题描述 c# 截取字符串的问题 如果在一串字符中id 在100行 c# 截取字符串的问题 如果在一串字符中id 在100行 我要获取id后面的10个数字 请问怎么截取呢 解决方案 string[] lines = s.Split(new string[] {"rn"}, StringSplitOptions.None); string s = lines[99]; string result = Regex.Match(s, "(?<=id)\d{10}")

使用Java调用Oracle数据库的存储过程实例

使用Java调用Oracle数据库的存储过程实例时间:2009-08-19 18:02:43来源:网络 作者:未知 点击:984次 一:无返回值的存储过程1.建立存储过程CREATE OR REPLACE PROCEDURE TESTA(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2) ASBEGININSERT INTO T_TEST (I_ID,I_NAME) VALUES (PARA1, PARA2);END TESTA; 2.相应的JAVA程序impo一:无返回值

MySQL和Oracle对比之存储过程

昨天晚上帮一个朋友处理了一个关于存储过程的问题,他需要迁移一些Oracle中的存储过程到MySQL中来,但是改了一部分的程序,发现MySQL中没法编译了,报了很多的错误. 这个问题也比较典型,自己就趁热打铁总结了一下. 因为隐私的关系还有代码长度的关系,我就不罗列代码了. 假设Oracle中的存储过程如下,我们需要改写为MySQL代码: set serveroutput on CREATE or replace PROCEDURE test_proc( in_value IN varchar2)

oracel-如何把下面的oracle中的存储过程转换成sql的?

问题描述 如何把下面的oracle中的存储过程转换成sql的? create or replace procedure BJ_MAXCASENO_Get(InCount in number, OutMaxCaseNO out number) as tem number; begin select max(caseno) into tem from BJ_MAXCASENO; if tem is null then tem := 0; -- 没有数据时新增0进入 insert into BJ_MA

ibatis调用Oracle中的存储过程和function

一.调用存储过程 Oracle代码 procedure proc_pos_check(p_gtin  in varchar2,                            p_safe_code   in varchar2,                            p_in_sell_id  in varchar2,                            p_buy_id      in varchar2,                        

Oracle如何用存储过程实现随机点名功能?

问题描述 Oracle如何用存储过程实现随机点名功能? oracle中如何使用存储过程实现随机点名,就是每执行一次,点出一个人来,而且不能重复点到一个人,等全班人都被点完一边,再进行第二遍点名,求大神指点. 解决方案 http://blog.sina.com.cn/s/blog_61e8042b0100xaz0.html

Oracle数据库使用存储过程上传大图片 blob参数 ,上传失败怎么会事?

问题描述 Oracle数据库使用存储过程上传大图片 blob参数 ,上传失败怎么会事? procedure proc1( Attachmen in out blob, --附件 ) is i integer; atta blob; begin dbms_lob.createtemporary(atta,true); select we.nextval into i from dual; insert into t_TrafficInfor (id,Attachment) values(i,EMP

Oracle截取字符串去掉字段末尾指定长度的字符_oracle

lengthb(string)计算string所占的字节长度:返回字符串的长度,单位是字节 length(string)计算string所占的字符长度:返回字符串的长度,单位是字符 eg: //去掉该字段后面15位字符串 select t.depre_name, substr(t.depre_name, 0, (length(t.depre_name) - 16)) from table t where t.del_flag = '0' [备注]一个汉字在Oracle数据库里占多少字节跟数据库的

[HOWTO]ORACLE中如何实现ASC字符串和16进制串互相转换

oracle|转换|字符串 ORACLE中如何实现ASC字符串和16进制串互相转换 欢迎大家同我交流:enhydraboy   enhydra_boy@tom.com 欢迎转载,请保留本声明,谢谢! 下面是笔者以前回答csdn论坛上问题的总结,希望对大家有用. ASC字符串==>16进制串 create or replace function AscToHex(sIn IN varchar2)RETURN varchar2ISsTmp varchar2(4000);i integer;BEGIN