儲存過程定義:
一般在大型資料庫中,一組為了完成特定功能的資料集,儲存在資料庫中,經過
第一次編譯後,再次呼叫不需要進行編譯,使用者只需要指定儲存過成名字並給定引數
就可以完成任務。
建立儲存過程:
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...