在表的某字段 添加内容

我有一个卫生情况记录表,表中字段为:宿舍号,学期号,第一周得分,第二周得分,第三周得分,第四周得分。我在text1里面输入周数如2,在text2里面输入分数如80,在这种... 我有一个卫生情况记录表,表中字段为:宿舍号,学期号,第一周得分,第二周得分,第三周得分,第四周得分。我在text1里面输入周数如2,在text2里面输入分数如80,在这种情况下我怎么把80插入到表的第二周分数字段下面? 展开
 我来答
匿名用户
2010-12-09
展开全部
这个不难,写个过程就可以了。
用到substr()方法。。
自己研究一下吧!

----补充----
把详细的需求说出来,具体要插进那个表?那些字段
等下有空帮你写!

--+++++++++ORACLE下 测试通过++++++++++--
--1. 初始化表
create table tableA(
User_fee_Prope varchar2(2000));
insert into tableA values ('存储模式[选择]>1级消费类型名称>2级消费类型名称>3级消费类型名称>范围1>范围2||[不选]>1级消顷旁费类型名称>2级消费类型名称>3级消费类型名称>范围1>范围2');
insert into tableA values ('存储模式[选择]>4级消费类型名称>5级缓早消费类型名称>6级消费类型名称>范围3>范围4||[不选]>4级消费类型名称>5级消费类型名称>6级消费类型名称>范围3>扰乎雀范围4');
commit;

create table tableB(
column1 varchar2(200),
column2 varchar2(200),
column3 varchar2(200),
column4 varchar2(200),
column5 varchar2(200),
column6 varchar2(200));

--2. 创建function
create or replace type tabs as table of varchar2(200);
create or replace function splitStr(spStr varchar2, splitor varchar2) return tabs
is
tab tabs := tabs();
pos number;
str varchar(2000);
begin
str := rtrim(ltrim(spStr),splitor);
if spStr is null then return null; end if;
if splitor is null then return null; end if;
loop
pos:=instr(str,splitor);
exit when pos=0 or pos is null;
tab.extend;
tab(tab.last):=substr(str,1,pos-1);
str := rtrim(ltrim(substr(str,pos+1,length(str)),splitor),splitor);
end loop;
if pos=0 or pos is null then
tab.extend;
tab(tab.last):=str;
end if;
return tab;
end;
/
--3.
declare
t1 tabs;
t2 tabs;
begin
for a in (select User_fee_Prope from tableA) loop
t1 := splitStr(a.User_fee_Prope,'||');
for r in t1.first..t1.count loop
t2 := splitStr(t1(r),'>');
insert into tableB values(t2(1),t2(2),t2(3),t2(4),t2(5),t2(6));
end loop;
end loop;
commit;
end;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式