oracle存储过程 循环判断插入 现在一个表中查出:1\x05type1\x051\x05111\x0522\x05type1\x051\x05112\x0523\x05type1\x052\x05111\x0524\x05type1\x052\x05112\x0525\x05type1\x053\x05111\x0526\x05type1\x053\x05112\x0527\x05type2\x051\x05111\

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/10 06:17:02
oracle存储过程 循环判断插入 现在一个表中查出:1\x05type1\x051\x05111\x0522\x05type1\x051\x05112\x0523\x05type1\x052\x05111\x0524\x05type1\x052\x05112\x0525\x05type1\x053\x05111\x0526\x05type1\x053\x05112\x0527\x05type2\x051\x05111\

oracle存储过程 循环判断插入 现在一个表中查出:1\x05type1\x051\x05111\x0522\x05type1\x051\x05112\x0523\x05type1\x052\x05111\x0524\x05type1\x052\x05112\x0525\x05type1\x053\x05111\x0526\x05type1\x053\x05112\x0527\x05type2\x051\x05111\
oracle存储过程 循环判断插入
现在
一个表中查出:
1\x05type1\x051\x05111\x052
2\x05type1\x051\x05112\x052
3\x05type1\x052\x05111\x052
4\x05type1\x052\x05112\x052
5\x05type1\x053\x05111\x052
6\x05type1\x053\x05112\x052
7\x05type2\x051\x05111\x052
8\x05type2\x051\x05112\x052
9\x05type2\x052\x05111\x052
10\x05type2\x052\x05112\x052
11\x05type2\x053\x05111\x052
12\x05type2\x053\x05112\x052
根据类型插入到另一个表,
就是先将type1 的所有插入到那个表,
然后在吧表清空,再去插type2的 数据
是不是需要写两个游标?
把查出来的内容 放到一起,吧type 放到一起
然后再根据type 依次插入?
嵌套游标怎么写?
有没有什么好的方法啊

oracle存储过程 循环判断插入 现在一个表中查出:1\x05type1\x051\x05111\x0522\x05type1\x051\x05112\x0523\x05type1\x052\x05111\x0524\x05type1\x052\x05112\x0525\x05type1\x053\x05111\x0526\x05type1\x053\x05112\x0527\x05type2\x051\x05111\
“就是先将type1 的所有插入到那个表,
然后在吧表清空,再去插type2的 数据”
这个描述没看懂.
是不是要从a表取出数据,type等于1的处理后插入b表,type等于2的处理后插入c表?
在这样的情况下,如果处理逻辑简单,只需要一句insert all就够了.
用不着什么游标.效率也好.
insert all的写法是这样的:
insert all
WHEN type = 1 and 其他条件等等 THEN
INTO TABLE_B VALUES (c1,c2,c3)
WHEN type = 2 and 其他条件等等 THEN
INTO TABLE_C VALUES (c1+1,C2*2,c4,c5)
ELSE
INTO TABLE_B VALUES(c3+3,c4-5,c5*7)
SELECT type,c1,c2,c3,c4,c5 FROM table_A
;
INTO 的表可以是同一个表,也可以不同,表结构也可以不同.