儲存過程基礎

2021-10-05 02:52:47 字數 1614 閱讀 2746

儲存過程定義:

一般在大型資料庫中,一組為了完成特定功能的資料集,儲存在資料庫中,經過

第一次編譯後,再次呼叫不需要進行編譯,使用者只需要指定儲存過成名字並給定引數

就可以完成任務。

建立儲存過程:

create procedure 儲存過程名(引數)

begin

sql語句

end;

修改結尾標識*(下面end後面的結尾標識都改為了#):delimiter #

呼叫儲存過程:

call 儲存過成名(實參);
帶引數的儲存過程: in out

in型別

in型別:in可以不寫,預設為in型別

例子:1、給儲存過程乙個學號,儲存過程顯示學生資訊

create procdedure pro_c(in x int)

begin

select * from student where sid = x;

end#

呼叫:call pro_c(x)

2、給儲存過程乙個班級編號 和英文名,查詢這些資訊(or)

create procedure pro_d(in sclass int,in ename varchar())

begin

select * from t_student whrer sclass=class or ename=name;

end#

呼叫:call pro_d(100,"jary")

注意:儲存過程建立的時候sql語句的limit後面不能使用引數

out型別

1、寫乙個儲存過程,返回3班最高分

create procdedure pro_c(out x int)

begin

select max(score) into x from student where sclass = 3;

end#

儲存過程呼叫前,需要先定義乙個變數:set @變數名 = 值;

cal 儲存過程名(@變數名);

2、給儲存過程乙個系編號,儲存過程返回這個系的名字

create procddure pro_r2(in x int,out name varchar(20))

begin

select dname into name from student where sid=x;

end#

呼叫:set @n = "abc" #

call pro_r2(3,@n) #

select @n #

inout型別

1、傳乙個班級編號,返回乙個最高分

creat procedure pro_a(inout x int)

begin

select max(score) inot x from student where sclass = x;

end#

呼叫:set @a=1#

call pro_a(@a)#

select @a#

儲存過程基礎

建立輸入引數儲存過程 create or replace procedure lyr3 name varchar2,age number is begin insert into student values sys guid name,age end 建立輸出儲存過程 create procedu...

基礎 儲存過程

github mysql 5.0開始支援儲存過程,儲存過程是存在資料庫中的一段sql集合,呼叫儲存過程可以減少很多任務作量,減少資料在資料庫和應用伺服器上的傳輸,對於提高資料處理的效率,同時注意,儲存過程沒有or replace的關鍵字,mysql的儲存過程引數包括 in,out,inout 三種模...

儲存過程基礎

儲存過程基礎語法 1.1 基本結構 create or replace procedure 儲存過程名字 引數1 in number,引數2 in number as 變數1 integer 0 變數2 date begin end 1.2 select into statement 將select...