when no_data_found then dbms_output.put_line('没有找到数据');end; 这段程序当检索到数据的时候就输出数据 检索不到数据即输出 没有找到数据 no_data_found 是一个预定义异常错误类型 更多预定义异常错误,请看:http://www.cnblogs.com/liulun/articles/1526177.html 二:非预定义异常错误 先看代码: 代码...
V_SQL := 'SELECT ENAME FROM EMP'; ELSIF N = '2' THEN V_SQL := 'SELECT DNAME FROM DEPT'; END IF; OPEN CUR_A FOR V_SQL; LOOP FETCH CUR_A INTO A; EXIT WHEN CUR_A%NOTFOUND; DBMS_OUTPUT.PUT_LINE(A); END LOOP; CLOSE CUR_A; END; 1. 2. 3. 4. 5. 6. 7. 8. 9. 1...
CASE_NOT_FOUND: CASE 中若未包含相应的 WHEN ,并且没有设置 ELSE 时 COLLECTION_IS_NULL: 集合元素未初始化 CURSER_ALREADY_OPEN: 游标已经打开 DUP_VAL_ON_INDEX: 唯一索引对应的列上有重复的值 INVALID_NUMBER: 内嵌的 SQL 语句不能将字符转换为数字 NO_DATA_FOUND: 使用 select into 未返回行,或应用索...
IFSQL%NOTFOUNDTHEN--判断SQL%NOTFOUND的属性 DBMS_OUTPUT.PUT_LINE('SQL%NotFound is TRUE'); ELSE DBMS_OUTPUT.PUT_LINE('SQL%NotFound is FALSE'); ENDIF; IFSQL%ISOPENTHEN--判断SQL%ISOPEN的属性 DBMS_OUTPUT.PUT_LINE('SQL%ISOPEN is TRUE'); ELSE DBMS_OUTPUT.PUT_LINE('SQL%ISOPEN is FALSE')...
FROM emp WHERE deptno=dept_no; EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE('你需要的数据不存在!'); WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('发生其它错误!'); END proc_demo; 调用方法: DECLARE V_num NUMBER; V_sum NUMBER(8, 2); ...
WHEN NO_DATA_FOUND THEN -- 处理没有值的情况 result := '没有找到匹配的值'; END; 在上述示例中,如果get_value()函数没有返回值,即抛出了NO_DATA_FOUND异常,那么异常处理块中的逻辑将会被执行,将result变量赋值为'没有找到匹配的值'。 对于PL/SQL异常处理,腾讯云提供了云数据库TDSQL产品,它是一种高性...
when no_data_found then dbms_output.put_line('there is not such an employees'); end; begin dbms_output.put_line(func_retsal(100)); end; (5)创建一个函数,以部门号为参数,返回该部门的平均工资; create or replace function func_retdeptsal( p_deptno employees.department_id%type) ...
WHEN 子句中的异常可以是用户定义的,也可以是内置的。可在当前块或其外层块的 DECLARE 部分中定义用户定义的异常,也可在 PL/SQL 程序包的 DECLARE 部分中定义用户定义的异常。可在异常定义后面直接使用语法 PRAGMA EXCEPTION_INIT 或 PRAGMA DB2_EXCEPTION_INIT,从而指定与用户定义的异常对应的 sqlcode 或 sqlstate...
异常是指 通过了编译的PLSQL 程序在运行时产生的错误; PLSQL 提供了一种异常错误的处理机制,可以帮助实现对错误的捕获和处理。 二、常见异常 (1)ACCESS_INTO_NULL :程序试图为未初始化对象的属性赋值。 (2)CASE_NOT_FOUND : 语句子句中的任何选项均未被选中,并且没有子句。
SQL> / Entervalueforv_empno:7788Employee nameisSCOTT -->> 输入的员工编号存在,输出员工姓名 PL/SQL procedure successfully completed. SQL> / Entervalueforv_empno:1234DECLARE* ERROR at line1: ORA-01403: no data found -->> 输入的员工编号不存在,报运行时错误 ...