資料庫儲存過程學習筆記

2021-06-07 06:36:54 字數 1248 閱讀 5426

oracle10gr2

學了下資料庫儲存過程,總結一下。對剛才學習有所交代。

儲存過程結構:

create or replace procedure 過程名(引數1,引數2,引數3......)

as資料定義(i number)

begin

儲存過程體

end;

一、引數1,引數2,引數3

引數型別有:

in :值傳遞,預設的

in out :帶值進,帶值出

out:不帶值進,帶值出

引數1,可以這樣定義:引數名 型別 資料型別。如:name in out dept.dname%type。

建立儲存過程,判斷如果deptno不存在,則插入一條記錄。

create or replace procedure myproc(dno in out dept.deptno%type,name dept.dname%type,dl dept.loc%type)

ascou number;

begin

select count(deptno) into cou from dept where deptno=dno;

if cou=0 then 

insert into dept(deptno,dname,loc) values(dno,name,dl);

dno:=1;

else

dno:=-1;

end if;

end;

執行該過程。

declare 

deptno dept.deptno%type;

begin

deptno:=12;

myproc(deptno,'haha','shenyang');

dbms_output.put_line(deptno);

end;

再試試引數型別為out型別的。

create or replace procedure myproc(dno out dept.deptno%type)

asi number;

begin

i:=dno;

dno:=12;

end;

執行該過程:

declare

dno dept.deptno%type;

begin

dno:=12;

myproc(dno);

dbms_output.put_line(dno);

end;

Mysql 資料庫學習筆記03 儲存過程

一 儲存過程 如下 通過 out inout 將結果輸出,可以輸出多個值。呼叫儲存過程 call 儲存名稱 引數1,引數2,如指定引數不符合要求,返回 empty set 查詢儲存過程的狀態 show procedure function status like 名稱 g 檢視儲存過程的具體資訊 s...

MSSQL資料庫 儲存過程學習

這個例子裡面我們從兩個表中取出頭兩行,然後合併到乙個表中。在現實中我們常常會遇到這樣的情況,在乙個資料庫中存在兩個表,假設表1儲存著公司個產品本季度銷售資訊,表2儲存著公司本季度欠款金額情況。在乙個頁面中我們想把這兩個資訊顯示出來。通常的做法是在程式中進行兩次sql查詢,返回兩個結果集,在分別顯示出...

MSSQL資料庫 儲存過程學習

這個例子裡面我們從兩個表中取出頭兩行,然後合併到乙個表中。在現實中我們常常會遇到這樣的情況,在乙個資料庫中存在兩個表,假設表1儲存著公司個產品本季度銷售資訊,表2儲存著公司本季度欠款金額情況。在乙個頁面中我們想把這兩個資訊顯示出來。通常的做法是在程式中進行兩次sql查詢,返回兩個結果集,在分別顯示出...