mysql 分號 儲存過程 Mysql之儲存過程

2021-10-17 13:21:44 字數 2293 閱讀 3114

1.進入到資料庫中檢視 是否有相關的儲存過程資料

show procedure status where db='test';

2.建立簡單的儲存過程

create procedure hi() select 'hello';

3. 呼叫儲存過程

call hi();

事例:

三、mysql 儲存過程特點

建立 mysql 儲存過程的簡單語法為:

create procedure 儲存過程名字()

[in|out|inout] 引數 datatype

begin

mysql 語句;

end;

mysql 儲存過程引數如果不顯式指定「in」、「out」、「inout」,則預設為「in」。習慣上,對於是「in」 的引數,我們都不會顯式指定。

1. mysql 儲存過程名字後面的「()」是必須的,即使沒有乙個引數,也需要「()」

2. mysql 儲存過程引數,不能在引數名稱前加「@」,如:「@a int」。下面的建立儲存過程語法在 mysql 中是錯誤的(在 sql server 中是正確的)。 mysql 儲存過程中的變數,不需要在變數名字前加「@」,雖然 mysql 客戶端使用者變數要加個「@」。

create procedure pr_add

@a int,  -- 錯誤

b int    -- 正確

3. mysql 儲存過程的引數不能指定預設值。

4. mysql 儲存過程不需要在 procedure body 前面加 「as」。而 sql server 儲存過程必須加 「as」 關鍵字。

create procedure pr_add

a int,

b int

as              -- 錯誤,mysql 不需要 「as」

begin

mysql statement ...;

end;

5. 如果 mysql 儲存過程中包含多條 mysql 語句,則需要 begin end 關鍵字。

create procedure pr_add

a int,

b int

begin

mysql statement 1 ...;

mysql statement 2 ...;

end;

6. mysql 儲存過程中的每條語句的末尾,都要加上分號 「;」

declare c int;

if a is null then

set a = 0;

end if;

end;

7. mysql 儲存過程中的注釋。

declare c int;     -- 這是單行 mysql 注釋 (注意 -- 後至少要有乙個空格)

if a is null then  # 這也是個單行 mysql 注釋

set a = 0;

end if;

end;

8. 不能在 mysql 儲存過程中使用 「return」 關鍵字。

set c = a + b;

select c as sum;

end;

9. 呼叫 mysql 儲存過程時候,需要在過程名字後面加「()」,即使沒有乙個引數,也需要「()」

call pr_no_param();

10. 因為 mysql 儲存過程引數沒有預設值,所以在呼叫 mysql 儲存過程時候,不能省略引數。可以用 null 來替代。

call pr_add(10, null);

事例:1) 批量的插入資料

delimiter $$

drop procedureifexists product;

create procedure product ()

begin

declare i int ;

set i= 1;

while i< 100do

insert into `hotel_room_type` (

`channel`,

`shop_id`,

`hid`,

`name`

values

('1001','155','61',

iset i= i + 1;

endwhile ;

end $$

delimiter ;

call product();

注意點: 嚴格按照要求的格式來書寫sql語句,否則無法執行

Mysq 儲存過程

drop procedure if exists xl 建立儲存過程 delimiter 轉譯字元 使用 代替 create procedure xl begin select from fd car report end delimiter 轉譯字元 使用 代替 call xl 呼叫儲存過程 de...

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...