exceptionWHENOTHERSTHENROLLBACKTOSAVEPOINT startpoint; errorcode :=-1;/*SQLCODE可以获得错误码*/errormsg :=SQLERRM; DBMS_OUTPUT.PUT_LINE('【异常】:'||SQLERRM); DBMS_OUTPUT.PUT_LINE('【信息】:很遗憾,初始化失败...操作已回滚.');RETURN;end; 通过OEM创建存储过程与函数类似: 3. 触发器 触发器有...
//普通语句 declare v_count binary_integer :=1; v_sum number :=0; begin loop if mod(v_count,2)=0 then v_sum:=v_sum+v_count; end if; v_count := v_count + 1; exit when v_count > 100; end loop; dbms_output.put_line(v_sum); end; ...
count(*)INTOV_sum, emp_countFROMEMPLOYEESWHEREDEPARTMENT_ID=dept_no;RETURNv_sum;EXCEPTIONWHENNO_DATA_FOUNDTHENDBMS_OUTPUT.PUT_LINE('你需要的数据不存在!');WHENOTHERSTHENDBMS_OUTPUT.PUT_LINE(SQLCODE||'---'||SQLERRM);ENDget_salary;
--1.通过RAISE弹出框(调试时使用)--2.通过sqlcode , sqlerrm 这两个内置变量来查看,例如:DECLARE --声明异常 some_kinds_of_err EXCEPTION; -- Exception to indicate an error condition v_ErrorCode NUMBER; -- Variable to hold the error message code v_ErrorText VARCHAR2(200); ...
8 dbms_output.put_line('Error Code = ' || TO_CHAR(SQLCODE) );9 dbms_output.put_line('Error Message = ' || SQLERRM );10 -- 回滚事务 11 ROLLBACK;12 END;13 / PL/SQL procedure successfully completed.SQL> select * from test_main;ID VALUE --- --- 2 ...
>whenever sqlerror sql.sqlcode exit rollback; --查询错误 >show errors; >show errors function fun_wordcount; 2 语言基础 --存储过程结构CREATEorreplacePROCEDUREPRO_GET_HAPPY(V_NAMEVARCHAR2)as--声明单元l_hiredatedate;BEGIN--执行单元l_hiredate:=sysdate-1;insertintoemp(ENAME,HIREDATE)values(V_NAM...
WHERE EmployeeID = 1;IF @@ERROR = 547 PRINT N'A check constraint violation occurred.';GO B. 用 @@ERROR 有条件地退出一个过程 在此示例中,IF...ELSE 语句在存储过程中的 INSERT 语句后检测 @@ERROR。@@ERROR 变量的值将决定发送给调用程序的返回代码,以指示此过程的成功与失败。复制...
call pro_square(3,true)
在PL/SQL块中出现Oracle错误时,通过使用例外函数可以取得错误号以及相关的错误消息,函数SQLCODE用于取得Oracle错误号. SQLERRM则用于取得与之相关的错误消息.另外,在存储过程,函数和包中使用RAISE_APPLICATION_ERROR可以自定义错误号和消息. DECLARE v_ename emp.ename%TYPE; ...
sqlcode=0 97. 如何知道用户拥有的权限? SELECT * FROM dba_sys_privs ; 98. 从网上下载的ORACLE9I与市场上卖的标准版有什么区别? 从功能上说没有区别,只不过oracle公司有明文规定;从网站上下载的oracle产品不得用于 商业用途,否则侵权。 99. 怎样判断数据库是运行在归档模式下还是运行在非归档模式下?