mysql儲存過程表 mysql儲存過程和表命令

2021-10-18 22:15:28 字數 1991 閱讀 7485

show procedure status;

2.顯示某個儲存過程的詳細資訊(sp為儲存過程名稱)

show create procedure sp;

3.顯示當前庫中所有表

show tables;

4.顯示某個表的建表語句(test為表名)

show create table test;

5.刪除儲存過程(sp為儲存過程名稱)

drop procedure if exists sp;

6.先建表

--設定分隔符為雙斜槓(//),預設為分號(;),由於儲存過程中要用到分號,固將結束分隔符設定為雙斜槓

delimiter//

drop table if exists test //

create table test(id int(11) null) //

7.最簡單的儲存過程

drop procedure if exists sp//

create procedure sp() select 1 //

--呼叫儲存過程

call sp()//

8.帶輸入引數的儲存過程

drop procedure if exists sp1 //

create procedure sp1(in p int)

begin

--宣告乙個int型別的變數

declare v1 int;

--將引數傳給宣告的變數,此步驟多餘,可不要

set v1 = p;

insert into test(id) values(v1);

end--呼叫這個儲存過程

call sp1(1)//

--去資料庫檢視呼叫之後的結果

select * from test//

9.帶輸出引數的儲存過程

drop procedure if exists sp2 //

create procedure sp2(out p int)

begin

select max(id) into p from test;

end--呼叫該儲存過程,注意:輸出引數必須是乙個帶@符號的變數

call sp2(@pv)//

10.帶輸入和輸出引數的儲存過程

drop procedure if exists sp3 //

create procedure sp3(in p1 int , out p2 int)

begin

if p1 = 1 then

--用@符號加變數名的方式定義乙個變數,與declare類似

set @v = 10;

else

set @v = 20;

end if;

--語句體內可以執行多條sql,但必須以分號分隔

insert into test(id) values(@v);

select max(id) into p2 from test;

end--呼叫該儲存過程,注意:輸入引數是乙個值,而輸出引數則必須是乙個帶@符號的變數

call sp3(1,@ret)//

select @ret//

11.既做輸入又做輸出引數的儲存過程

drop procedure if exists sp4 //

create procedure sp4(inout p4 int)

begin

if p4 = 4 then

set @pg = 400;

else

set @pg = 500;

end if;

select @pg;

end//

call sp4(@pp)//

--這裡需要先設定乙個已賦值的變數,然後再作為引數傳入

set @pp = 4//

call sp4(@pp)//

分享到:

2012-09-10 21:17

瀏覽 11917

分類:資料庫

mysql儲存過程 MySQL儲存過程

在本節中,您將逐步學習如何在mysql中編寫和開發儲存過程。首先,我們向您介紹儲存過程的概念,並討論何時使用它。然後,展示如何使用過程 的基本元素,如建立儲存過程的語句,if else,case,loop,儲存過程的引數。下面每個教程都包含了易於理解的示例和詳細的說明。如果您瀏覽並學習所有教程,您可...

mysql 儲存過程 mysql 儲存過程

建立 為建立儲存過程的結束標誌,使用delimiter 可更改標誌 格式create procedure begin sqlend create procedure myprocedure in param integer begin select from tb role where tb rol...

mysql 儲存過程 MySQL儲存過程

目錄 儲存過程 簡介是一組為了完成特定功能的sql語句集合 比傳統sql速度更快 執行效率更高 儲存過程的優點 執行一次後,會將生成的二進位制 駐留緩衝區,提高執行效率 sql語句加上控制語句的集合,靈活性高 在伺服器端儲存,客戶端呼叫時,降低網路負載 可多次重複被呼叫,可隨時修改,不影響客戶端呼叫...