Oracle PL Plus程式設計(三)

2021-08-10 13:27:10 字數 1927 閱讀 1970

異常名稱

錯誤**

描述access_into_null

ora-06530

試圖對未初始化物件屬性賦值。

case_not_fount

ora-06592

未在case語句中找到匹配的when子句,也沒有預設的else子句

invalid_cursor

ora-01001

程式試圖進行非法游標操作

invalid_number

ora-01722

試圖將字串轉換成數字時失敗,因為字串並不代表有效的數字

login_denied

ora-01017

試圖用非法的使用者名稱或密碼連線資料庫

too_manay_rows

ora-01422

select into 語句返回多行

dup_val_on_index

ora-00001

試圖向唯一索引約束的列中插入重複值。

例子:

begin 

dbms_output.put_line(1/0);

exception

when zero_divide then

end;

結果:

division by

zero

others:可以處理所有異常

例如:

begin 

dbms_output.put_line(1/0);

exception

when others then dbms_output.put_line('division by zero');

end;

結果:

division by

zero

1.建立過程

語法:

create [or replace] procedure

procedure_name

begin

procedure_body

endprocedure_name;

例如:

create

procedure update_test_type(

test_id in test.id%type,

test_type in

varchar(10)

) as

v_count integer;

begin

select

count(*)

into v_count

from test

where id = test_id;

if v_count = 1 then

update test

set type = test_type

where id = test_id;

commit;

endif;

exception

when others then

rollback;

end update_test_type;

2.呼叫過程
call update_test_type(1, '09');
3.獲取有關過程的資訊
select object_name, aggregate, parallel

from user_procedures

where object_name='update_test_type';

4.刪除過程
drop procedure

update_test_type;

5.檢視錯誤
show errors

程式設計修養(三)

6 if 語句對出錯的處理 我看見你說了,這有什麼好說的。還是先看一段程式 吧。if ch 0 ch 9 else 這種結構很不好,特別是如果 正常處理 很長時,對於這種情況,最好不要用else 先判斷錯誤,如 if ch 0 ch 9 正常處理 這樣的結構,不是很清楚嗎?突出了錯誤的條件,讓別人在...

C GDI 程式設計(三)

2.矩形 先看看矩形結構 rectangle 儲存一組整數,共四個,表示乙個矩形的位置和大小,矩形由其寬度 高度和左上角定義,可用的建構函式如下 public rectangle point location,size size 用指定的位置和大小初始化 rectangle 類的新例項。public...

程式設計題目三

字元空格 a b c d e f g h i j k l m 頻度 180 64 13 23 32103 22 15 47 57 1 5 31 20 字元 n o p q r s t u v w x y z 頻度 55 63 15 1 48 56 80 25 7 18 2 16 1 現請編寫程式你實...