oracle pl sql CURSOR_ALREADY_OPEN
来源:互联网 发布:淘宝领优惠券的网站 编辑:程序博客网 时间:2024/06/06 00:15
先创建表:
CREATE TABLE TB_USER( ID INTEGER PRIMARY KEY, USER_NAME VARCHAR2(20) NOT NULL, USER_AGE INTEGER NOT NULL);CREATE SEQUENCE SEQ_USERINCREMENT BY 1START WITH 1NOMAXVALUENOCYCLECACHE 10;CREATE OR REPLACE TRIGGER TR_USER BEFORE INSERT ON TB_USER FOR EACH ROWBEGIN SELECT SEQ_USER.NEXTVAL INTO :NEW.ID FROM DUAL;END;
插入一些数据。
遍历数据:
DECLAREV_AGE TB_USER.USER_AGE%TYPE;V_NAME TB_USER.USER_NAME%TYPE;CURSOR USER_CURSOR IS SELECT USER_NAME, USER_AGE FROM TB_USER;BEGIN FOR USER_RECORD IN USER_CURSOR LOOP DBMS_OUTPUT.put_line(USER_RECORD.USER_NAME || ', ' || USER_RECORD.USER_AGE); END LOOP; EXCEPTION WHEN CURSOR_ALREADY_OPEN THEN DBMS_OUTPUT.put_line('cursor already open');END;
执行上述代码,会显示每条记录。
FOR LOOP前不能OPEN,否则会报CURSOR_ALREADY_OPEN,错误代码如下:
DECLAREV_AGE TB_USER.USER_AGE%TYPE;V_NAME TB_USER.USER_NAME%TYPE;CURSOR USER_CURSOR IS SELECT USER_NAME, USER_AGE FROM TB_USER;BEGIN OPEN USER_CURSOR;--错误代码 FOR USER_RECORD IN USER_CURSOR LOOP DBMS_OUTPUT.put_line(USER_RECORD.USER_NAME || ', ' || USER_RECORD.USER_AGE); END LOOP; EXCEPTION WHEN CURSOR_ALREADY_OPEN THEN DBMS_OUTPUT.put_line('cursor already open');END;
上面OPEN了两次。
0 0
- oracle pl sql CURSOR_ALREADY_OPEN
- ORACLE PL/SQL 基础
- Oracle PL/SQL入门
- oracle pl/sql
- Learning Oracle PL/SQL
- ORACLE的PL/SQL
- ORACLE PL/SQL 基础
- Oracle PL/SQL入门
- ORACLE PL/SQL入门
- Oracle PL/SQL入门
- oracle PL/SQL学习
- Oracle PL/SQL Programming
- Oracle-PL/SQL
- Oracle PL/SQL游标
- Oracle PL/SQL学习
- oracle pl/sql实例
- Oracle PL/SQL编程
- oracle pl/sql 编程
- CUGB计算几何专题:B - A Round Peg in a Ground Hole判断线段相交
- 【CF】CodeForces 301A Yaroslav and Sequence
- test03
- 正则表达式语法
- 知道创宇研发技能表v2.2
- oracle pl sql CURSOR_ALREADY_OPEN
- hibernate缓存机制
- C++中的static使用
- 通过tomcat实现多域名配置
- java设计模式(创建型)之生成器模式
- Java小游戏——捕鱼达人
- 算法导论的思维导图,采用xmind制作。
- 在本机用Toad远程连接Oracle数据库
- 驱动程序编写入门以及驱动程序加载