【oracle】游标使用 --简单案例--菜鸡教程
2018-01-31 20:30
169 查看
【oracle】游标使用 –简单案例CURSOR 菜鸡教程
-先说下我们今天要干的事情:使用 游标 实现自动从 test1 将电话号码 插入 test2 表。
叼哥 肯定会说,这跟游标有个 吊毛 关系,非也,我们如果想批量 从test1 表中,将数据批量插入test2 中,必然会使用到游标。
首先肯定我们先要知道,什么是游标,游标有什么作用,开始lz 也是个屌丝,压根不知道这是搞毛用的,为此还被之前我们组的 大佬 冷嘲热讽 了一番。
其实说白了,也没什么大不了的,听起来高大上的东西, 就类似 java 的集合list,但是相比之下又有所不同,又有点像 是一个 对象 ,但又跟对象有点不同, 说白了其实就是
集合跟对象的合体结合了集合list和对象的
优点下边会具体说明。
1.先创建两张测试表
-- 创建表test1 create table test_1( id varchar2(32), tel varchar2(100) ); -- 设置主键 alter table test_1 add constraint PK_test_1 primary key (ID); -- 创建表test2 create table test_2( id number(5), tel varchar2(100) ); -- 设置主键 alter table test_2 add constraint PK_test_2 primary key (ID); -- 创建一些测试数据 insert into test_1 values((select sys_guid() from dual),'15691043321'); insert into test_1 values((select sys_guid() from dual),'15691043322');
如图:
我们查看下
test_1的数据
创建一个自增序列,也可以不创建,我这是为了给你们清楚展示,数据数量
create sequence test_2_seq start with 1 increment by 1; -- 创建一个test_2_seq x的序列
-
游标 SQL
DECLARE CURSOR test_1_cur IS -- test_1_cur 游标名称 SELECT T.TEL FROM test_1 T; -- 查询test_1 数据 tel_list test_1_cur%ROWTYPE; BEGIN OPEN test_1_cur; -- 打开游标 LOOP -- 循环游标 FETCH test_1_cur -- 遍历游标 INTO tel_list; --tel_list 查询出来的所有结果存放在这个里边 EXIT WHEN test_1_cur%NOTFOUND; if tel_list.tel is not null then-- 查询出来后结果不为空的 插入到test_2表中 INSERT INTO test_2 VALUES (test_2_seq.nextval,tel_list.tel);--这就是为什么结合了java list和对象的原因了,既能遍历,又能用对象方式取值 end if; COMMIT; -- 提交 END LOOP; -- 结束循环 CLOSE test_1_cur; -- 关闭游标 END;
最后我,我们看下结果
脚注
各位看官老爷,看来有没有收获,欢迎大家相互探讨,如有不足支出,还望不吝指教1.———–笑皮脸 O(∩_∩)O哈哈~ **. ↩
相关文章推荐
- ORACLE/PLSQL 游标的简单使用
- oracle 游标 简单使用
- hibernate里使用jdbc方式调用oracle带游标返回参数的简单分页存储过程
- [by 王谭]oracle游标的使用教程
- oracle中游标的使用案例
- oracle游标cursor简单使用
- Oracle 学习:PL/SQL循序渐进全面学习教程--课程十三 使用组合数据类型* 游标操纵数据
- 简单存储过程和游标使用案例
- [oracle编程]pl/sql --标量 复合变量以及游标的简单使用
- [oracle编程]pl/sql --标量 复合变量以及游标的简单使用
- PHP面向对象的使用教程 简单数据库连接
- Oracle 显式游标使用基本方法
- Oracle 中游标使用的问题
- Oracle 游标使用大全(转)
- Struts中使用displaytag简单小教程
- Oracle 游标使用大全(1)
- Oracle 游标使用大全2
- kshen转Oracle 游标使用大全
- Oracle 游标使用大全
- 关于oracle游标的使用优化