-
value_error 算術(shù)或者其他轉(zhuǎn)換錯(cuò)誤查看全部
-
exception when zero_divide then dbms_output.put_line("1.零不能為除數(shù)") dbms_output.put_line("2.零不能為除數(shù)") then 相當(dāng)于一個(gè)大括號,后面可以跟多個(gè)執(zhí)行語句. 所有exception 處理后面都別忘記加when others 來處理其他異常()否則會拋給數(shù)據(jù)庫出錯(cuò)查看全部
-
Too_many_rows (select....into語句匹配多個(gè)行) 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 匹配了多個(gè)行'); when others then dbms_output.put_lines('其他異常');查看全部
-
No_data_found 沒有查詢到數(shù)據(jù) 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; /查看全部
-
系統(tǒng)異常: Zero_Divide(被零除) Value_error(算數(shù)或轉(zhuǎn)化錯(cuò)誤) Timeout_on_resource(在等待資源時(shí)發(fā)生超時(shí),多發(fā)生在分布式數(shù)據(jù)庫) Data_not_found Too_many_rows查看全部
-
記得cursor打開后還要關(guān)閉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查看全部
-
光標(biāo)的參數(shù)格式查看全部
-
1光標(biāo)的屬性 %found %notfound %isopen : 判斷光標(biāo)是否打開 %rowcount : 影響的行數(shù) 2.光標(biāo)數(shù)的限制:默認(rèn)情況下,oracle數(shù)據(jù)庫只允許在同一個(gè)會話中,打開300個(gè)光標(biāo) >--切換到管理員,查看數(shù)據(jù)庫初始化設(shè)置 >show user >conn sys/password@192.168.56.101:1521/orcl as sysdba >show parameter cursor 修改光標(biāo)數(shù)的限制: alter system set open_cursors=400 scope=both; scope的取值:both(兩個(gè)同時(shí)更改),memory(只更改當(dāng)前實(shí)例,不更改參數(shù)文件),spfile(只更改參數(shù)文件,不更改當(dāng)前文件,數(shù)據(jù)庫需要重啟) if cemp%isopen then dbms_output.put_line('光標(biāo)已經(jīng)打開'); 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光標(biāo)的屬性 %found %notfound %isopen : 判斷光標(biāo)是否打開 %rowcount : 影響的行數(shù) 2.光標(biāo)數(shù)的限制:默認(rèn)情況下,oracle數(shù)據(jù)庫只允許在同一個(gè)會話中,打開300個(gè)光標(biāo) 修改光標(biāo)數(shù)的限制: alter system set open_cursors = 400 scope = both; scope 的取值范圍:both,memory,spfile(數(shù)據(jù)庫需要重啟) memory:只更改當(dāng)前實(shí)例,不更改參數(shù)文件 spfile:只更改參數(shù)文件,不更改當(dāng)前實(shí)例(數(shù)據(jù)庫需要重啟) both: memory 跟spfile同時(shí)被更改查看全部
-
默認(rèn)情況下,Oracle數(shù)據(jù)庫只允許打開300個(gè)cursor的數(shù)據(jù)查看全部
-
commit; 提交 為了ACID查看全部
-
rollback 回滾查看全部
-
原子性,隔離性,一致性,持久性查看全部
-
給不同級別的員工漲工資 declare -- 定義光標(biāo)代表給哪些員工漲工資 cursor cemp is select empno,empjob from emp; pempno emp.empno%type; pempjob emp.empjob%type; begin rollback; //事務(wù)回滾 --打開光標(biāo) open cemp; --loop fetch ** into ** ; exit when condition;block;end loop; loop --取出一個(gè)員工 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; -- 關(guān)閉光標(biāo) close cemp; -- oracle的默認(rèn)事務(wù)隔離級別是read committed --事務(wù)的ACID 原子性、一致性、隔離性、持久性 commit; end ; /查看全部
舉報(bào)
0/150
提交
取消