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/06/23 07:25:32
![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\](/uploads/image/z/4339047-39-7.jpg?t=oracle%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B+%E5%BE%AA%E7%8E%AF%E5%88%A4%E6%96%AD%E6%8F%92%E5%85%A5+%E7%8E%B0%E5%9C%A8%E4%B8%80%E4%B8%AA%E8%A1%A8%E4%B8%AD%E6%9F%A5%E5%87%BA%EF%BC%9A1%5Cx05type1%5Cx051%5Cx05111%5Cx0522%5Cx05type1%5Cx051%5Cx05112%5Cx0523%5Cx05type1%5Cx052%5Cx05111%5Cx0524%5Cx05type1%5Cx052%5Cx05112%5Cx0525%5Cx05type1%5Cx053%5Cx05111%5Cx0526%5Cx05type1%5Cx053%5Cx05112%5Cx0527%5Cx05type2%5Cx051%5Cx05111%5C)
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 的表可以是同一个表,也可以不同,表结构也可以不同.