初學者 函式和儲存過程

2021-07-10 16:09:05 字數 2017 閱讀 2212

資料庫中函式的儲存過程區別;

儲存過程和函式都是為了 可重複的 執行資料庫中的sql語句集合。 儲存過程相對比較複雜,可以輸出多個引數,而函式相對比較簡單,針對性比較強,輸出的是值或者表物件。

寫法上:

1.儲存過程:引數列表可以有 in 、out、in out引數。

2.函式:引數列表 in 引數 , 並且有return《返回值型別,無引數型別》。

返回值上;

1.儲存過程:可以返回多個值。

2.函式:返回乙個值

呼叫方式上:

1.儲存過程:exec|execute 過程名。pl/sql直接呼叫。

2.函式:pl/sql直接呼叫。可以select 函式名 from dual;

語法上:

1.儲存過程:

create or replace procedure 過程名(in、out、in out引數) 

is | as

變數名 初始化

begin 

執行體exception

捕獲異常 從錯處理

end

例子:

create or replace procedure up_wap(v_param1 in out varchar2,v_param2 in out varchar2)

isv_temp varchar2(20);

begin

dbms_output.put_line('交換前引數1:'||v_param1||' 引數2:'||v_param2);

v_temp:=v_param1;

v_param1:=v_param2;

v_param2:=v_temp;

dbms_output.put_line('交換後引數1:'||v_param1||' 引數2:'||v_param2);

exception

when others then dbms_output.put_line('there is a error when the procedure up_wap executing!');

end up_wap;

-- 呼叫儲存過程

declare

v_param1 varchar2(20):='param1';

v_param2 varchar2(20):='param2';

begin

up_wap(v_param1 => v_param1,v_param2 => v_param2);

end;

2.函式:

create function  函式名(in 引數)

return 《返回值型別、無長度說明》

is | as

變數初始化 宣告

begin

執行體return < 返回值》

exception

捕獲異常 從錯處理

end 函式名

例子:create function uf_select_name_by_id_test(v_id in number)

return varchar2

isv_name t_test.t_name%type;

begin

select t_name into v_name from t_test where t_id=v_id;

return v_name;

exception

when others then dbms_output.put_line('error');

end uf_select_name_by_id_test;

/select uf_select_name_by_id_test(1) 姓名 from dual;-- select呼叫

declare --pl/sql語句塊呼叫

v_name varchar2(20);

begin

v_name:=uf_select_name_by_id_test(1);

dbms_output.put_line('name = '||v_name);

end;/

函式(初學者)

乙個較大的程式可分為若干個程式模組,每乙個模組用來實現乙個特定的功能。在高階語言中用子程式實現模組的功能,子程式由函式來完成。乙個c程式可由乙個主函式和若干個其他函式構成。函式間的呼叫關係 由主函式呼叫其他函式,其他函式也可以相互呼叫。同乙個函式可以被乙個或多個函式呼叫任意多次。例 include ...

atoi函式(初學者)

atoi 表示 ascii to integer 是把字串轉換成整型數的乙個函式,應用在電腦程式和辦公軟體中。int atoi const char nptr 函式會掃瞄引數 nptr字串,會跳過前面的空白字元 例如空格,tab縮排 等。如果 nptr不能轉換成 int 或者 nptr為空字串,那麼...

初學者談初學者學html

這是乙個段落。解釋一下就是 html 與 html 之間的文字是描述網頁。head 與 head 之間的文字是文件的元資料。title 與 之間的文字是文件的標題。body 與 body 之間的文字是可見的頁面內容,是文章的主體部分。h1 與 h1 之間的文字被顯示為乙個大標題。p 與 p 之間的文...