-
value_error 算术或者其他转换错误查看全部
-
exception when zero_divide then dbms_output.put_line("1.零不能为除数") dbms_output.put_line("2.零不能为除数") then 相当于一个大括号,后面可以跟多个执行语句. 所有exception 处理后面都别忘记加when others 来处理其他异常()否则会抛给数据库出错查看全部
-
Too_many_rows (select....into语句匹配多个行) declare pename emp.ename%type; begin select ename into pename from emp where deptno = 10; exception when too_many_rows then dbms_output.put_line('select into 匹配了多个行'); when others then dbms_output.put_lines('其他异常');查看全部
-
No_data_found 没有查询到数据 set serveroutput on declare pename emp.ename%type; begin select ename into pename from emp where empno=1234; exception when no_data_found then dbms_output.put_line('没有找到该员工'); when othes then dbms_output.put_line('其他例外'); end; /查看全部
-
系统异常: Zero_Divide(被零除) Value_error(算数或转化错误) Timeout_on_resource(在等待资源时发生超时,多发生在分布式数据库) Data_not_found Too_many_rows查看全部
-
记得cursor打开后还要关闭cursor查看全部
-
cursor cemp (dno number) is select ename from emp where deptno =dno beigin open cemp(10); loop fetch cemp into pename; exit when cemp%notfound; dbms_output.put_line(); end loop close cemp end查看全部
-
光标的参数格式查看全部
-
1光标的属性 %found %notfound %isopen : 判断光标是否打开 %rowcount : 影响的行数 2.光标数的限制:默认情况下,oracle数据库只允许在同一个会话中,打开300个光标 >--切换到管理员,查看数据库初始化设置 >show user >conn sys/password@192.168.56.101:1521/orcl as sysdba >show parameter cursor 修改光标数的限制: alter system set open_cursors=400 scope=both; scope的取值:both(两个同时更改),memory(只更改当前实例,不更改参数文件),spfile(只更改参数文件,不更改当前文件,数据库需要重启) if cemp%isopen then dbms_output.put_line('光标已经打开'); end if; loop --取出一条记录 fetch cemp into pempno,pjob; exit when cemp%notfound; --打印rowcount的值 dbms_output.put_line('rowcount'||cemp%rowcount); end loop;查看全部
-
the_great_virgo 1光标的属性 %found %notfound %isopen : 判断光标是否打开 %rowcount : 影响的行数 2.光标数的限制:默认情况下,oracle数据库只允许在同一个会话中,打开300个光标 修改光标数的限制: alter system set open_cursors = 400 scope = both; scope 的取值范围:both,memory,spfile(数据库需要重启) memory:只更改当前实例,不更改参数文件 spfile:只更改参数文件,不更改当前实例(数据库需要重启) both: memory 跟spfile同时被更改查看全部
-
默认情况下,Oracle数据库只允许打开300个cursor的数据查看全部
-
commit; 提交 为了ACID查看全部
-
rollback 回滚查看全部
-
原子性,隔离性,一致性,持久性查看全部
-
给不同级别的员工涨工资 declare -- 定义光标代表给哪些员工涨工资 cursor cemp is select empno,empjob from emp; pempno emp.empno%type; pempjob emp.empjob%type; begin rollback; //事务回滚 --打开光标 open cemp; --loop fetch ** into ** ; exit when condition;block;end loop; loop --取出一个员工 fetch cemp into pempno,pempjob; --loop 退出条件 exit when cemp%notfound; -- 判断员工的职位 if pempjob='PRESIDENT' then update emp set sal=sal+1000 where empno=pempno; -- if condition then block ;elsif condition then block;else block;end if; elsif pempjob='MANAGER' then update emp set sal=sal+800 where empno=pempno; else update emp set sal=sal+400 where empno=pempno; end if; end loop; -- 关闭光标 close cemp; -- oracle的默认事务隔离级别是read committed --事务的ACID 原子性、一致性、隔离性、持久性 commit; end ; /查看全部
举报
0/150
提交
取消