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查詢,返回兩個結果集,在分別顯示出...