日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

mysql 分号 存储过程_MySql 存储过程

發布時間:2023/11/27 生活经验 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 分号 存储过程_MySql 存储过程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

自動增長列、字段值唯一性約束

create table aa(

id int auto_increment primary key,

sname varchar(32) unique

);

insert into aa values(5,'abc');

創建一個自動增長的id屬性(最開始不設置就從0開始增長)

(后面的id如果有值了,如果添加數據時沒有設置id,MySQL就會用最大的id加1做為最新的id)

注意:auto_increment 在MySQL中支持,其他的數據庫設置自動增長列中關鍵字不一樣。

unique 對sname進行唯一性約束,也就是不能有相同的sname(可以有一個值是null)。

存儲過程:

其實這個SQL中的存儲過程很像Java中的定義函數,調用函數。

首先看定義:

create procedure 過程名(參數...)

begin

SQL語句...

end

調用:

call 過程名(實參)

有一個需要注意的地方:

在定義前,需要先把默認的語句結束’;’號改成其它,如’&&’,這樣存儲過程中定義的分號就不會被看成是語句結束(否則會直接被提交)。

在定義完之后,還要把’;’還原成默認的結束符。

實例一:無參的存儲過程

delimiter &&

create procedure p1()

begin

insert into stud values('P100','小李',43);

select * from stud;

end&&

delimiter ;

call p1;/*調用p1()中的SQL語句,如果沒有call之前,p1()中的SQL語句是沒有被執行的*/

實例二:有參的存儲過程

delimiter &&

create procedure p2(in id varchar(32),in sname varchar(32),in age int)

begin

insert into stud values(id,sname,age);

select * from stud;

end &&

delimiter ;

call p2('P1007','小白',25);

call p2('P1008','小麗',28);

實例三:有返回值的存儲過程

delimiter &&

create procedure p3(in id varchar(32) ,in sname varchar(32),in age int ,out num int)

begin

insert into stud values(id,sname,age);

select * from stud;

select count(*) into num from stud;

end&&

delimiter ;

call p3('P012','小小五',27, @num);

/*調用且用num接收結果*/

select @num; /*顯示用戶變量num*/

系統變量名稱:@@變量名

用戶變量名稱:@變量名

總結

以上是生活随笔為你收集整理的mysql 分号 存储过程_MySql 存储过程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。