oracle pl sql NO_DATA_FOUND
2014-03-09 22:33
148 查看
先创建表:
插入一些数据。
创建NO_DATA_FOUND的存储过程:
会显示NO_DATA_FOUND的记录如下:
执行:
输出:
CREATE TABLE TB_USER ( ID INTEGER PRIMARY KEY, USER_NAME VARCHAR2(20) NOT NULL, USER_AGE INTEGER NOT NULL ); CREATE SEQUENCE SEQ_USER INCREMENT BY 1 START WITH 1 NOMAXVALUE NOCYCLE CACHE 10; CREATE OR REPLACE TRIGGER TR_USER BEFORE INSERT ON TB_USER FOR EACH ROW BEGIN SELECT SEQ_USER.NEXTVAL INTO :NEW.ID FROM DUAL; END;
插入一些数据。
创建NO_DATA_FOUND的存储过程:
CREATE OR REPLACE PROCEDURE PRO_NO_DATA_FOUND(USER_ID IN INTEGER) AS V_AGE TB_USER.USER_AGE%TYPE; V_NAME TB_USER.USER_NAME%TYPE; BEGIN SELECT USER_NAME, USER_AGE INTO V_NAME, V_AGE FROM TB_USER WHERE ID=USER_ID; EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.put_line('no data found'); WHEN OTHERS THEN DBMS_OUTPUT.put_line('ERROR CODE: ' || SQLCODE || CHR(10) || 'ERROR MSG:' || SQLERRM); END;
会显示NO_DATA_FOUND的记录如下:
SQL> SELECT * FROM TB_USER WHERE ID=1; 未选定行 SQL>
执行:
CALL PRO_NO_DATA_FOUND(1);
输出:
no data found
相关文章推荐
- 在本机用Toad远程连接Oracle数据库
- 行列转换——oracle
- oracle pl sql case when case_not_found
- Oracle重装
- oracle事务隔离级别
- oracle中decode的使用和oracle中的行转列
- ORACLE分区表、分区索引详解
- Oracle WITH A AS 用法解析
- oracle 11g 手动启动服务
- oracle over (partition by )用法
- java 执行 oracle 存储过程
- Oracle 11.2.0.3.0 RAC Silent Install-3Nodes
- LOB字段相关概念(自动创建LOB索引段和重建索引方法)
- oracle 删除用户 以及用户下的对象
- oracle经典操作sql
- oracle 单实例 ASM 基本框架
- 在ORACLE大数据量下的分页解决方法。
- Oracle的层次查询及层次查询与自连接的比较
- Oracle Redo Log 机制 小结(转载)
- Oracle数据库 scott/tiger账户经典查询