我数据库开发是新手,最近在看oracle plsqp从入门到精通,代码10.19演示了如何使用游标删除EMP表中员工编号为7369的员工记录
DECLAGE
CURSOR emp_cur (p_empno IN NUMBER)
IS
SELECT *
FROM emp
WHERE empno = p_empno;
FOR UPDATE;
BEGIN
FOR emp_row IN emp_cur LOOP
DELETE FROM emp
WHERE CURRENT OF emp_cur; END LOOP;
COMMIT;
END;
这个例子为什么这么繁琐,它是仅仅为了演示游标的用法吗,还是有什么优越的地方?与简单的一个单行操作相比。是把一个行通过select放到游标(指针)中,以后就可以更方便地对地对这个指针进行不同的操作吗?但是后面为什么要用LOOP呢,明明就是一行啊,有必要路破么?
DECLAGE
CURSOR emp_cur (p_empno IN NUMBER)
IS
SELECT *
FROM emp
WHERE empno = p_empno;
FOR UPDATE;
BEGIN
FOR emp_row IN emp_cur LOOP
DELETE FROM emp
WHERE CURRENT OF emp_cur; END LOOP;
COMMIT;
END;
这个例子为什么这么繁琐,它是仅仅为了演示游标的用法吗,还是有什么优越的地方?与简单的一个单行操作相比。是把一个行通过select放到游标(指针)中,以后就可以更方便地对地对这个指针进行不同的操作吗?但是后面为什么要用LOOP呢,明明就是一行啊,有必要路破么?
解决方案 »
- 一个逐行累计相加的问题
- 全文索引ctx_report.query_log_summary 运行错误
- 能否实现IMP导入dmp文件,只导里面的一个存储过程
- Oracle 两表结构完全相同,求数据不同的记录
- 不知哪位大大能帮忙给个思路.如果往数据库里放一段带有回车换行的文章.
- 一个关于dblink插入的奇葩问题,在线求高人
- 我想查询数据库所有表数据里面包含'522600'的字段名称和所在的表名
- 第一次安装oracle,2个问题请问
- 关于TRUNC还有floor的问题,在线等待~~!
- 在aix机或hp机,用odbc链接oracle数据库查询varchar类型数据失败
- oracle 存储过程中数据类型转换
- 求一SQL语句
表示更新删除当前行。不过这个应该用的比较少,了解即可。