最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Php mysql存儲過程的詳解

 更新時間:2013年06月07日 10:06:35   作者:  
本篇文章是對Php中的mysql存儲過程進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
實例一:無參的存儲過程
復(fù)制代碼 代碼如下:

$conn = mysql_connect('localhost','root','root') or die ("數(shù)據(jù)連接錯誤!!!");
mysql_select_db('test',$conn);
$sql = "
create procedure myproce()
begin
INSERT INTO user (id, username, sex) VALUES (NULL, 's', '0');
end;
";
mysql_query($sql);//創(chuàng)建一個myproce的存儲過程

$sql = "call test.myproce();";
mysql_query($sql);//調(diào)用myproce的存儲過程,則數(shù)據(jù)庫中將增加一條新記錄。

實例二:傳入?yún)?shù)的存儲過程
復(fù)制代碼 代碼如下:

$sql = "
create procedure myproce2(in score int)
begin
if score >= 60 then
select 'pass';
else
select 'no';
end if;
end;
";
mysql_query($sql);//創(chuàng)建一個myproce2的存儲過程
$sql = "call test.myproce2(70);";
mysql_query($sql);//調(diào)用myproce2的存儲過程,看不到效果,可以在cmd下看到結(jié)果。

實例三:傳出參數(shù)的存儲過程
復(fù)制代碼 代碼如下:

$sql = "
create procedure myproce3(out score int)
begin
set score=100;
end;
";
mysql_query($sql);//創(chuàng)建一個myproce3的存儲過程
$sql = "call test.myproce3(@score);";
mysql_query($sql);//調(diào)用myproce3的存儲過程
$result = mysql_query('select @score;');
$array = mysql_fetch_array($result);
echo '<pre>';print_r($array);

實例四:傳出參數(shù)的inout存儲過程
復(fù)制代碼 代碼如下:

$sql = "
create procedure myproce4(inout sexflag int)
begin
SELECT * FROM user WHERE sex = sexflag;
end;
";
mysql_query($sql);//創(chuàng)建一個myproce4的存儲過程
$sql = "set @sexflag = 1";
mysql_query($sql);//設(shè)置性別參數(shù)為1
$sql = "call test.myproce4(@sexflag);";
mysql_query($sql);//調(diào)用myproce4的存儲過程,在cmd下面看效果

實例五:使用變量的存儲過程
復(fù)制代碼 代碼如下:

$sql = "
create procedure myproce5(in a int,in b int)
begin
declare s int default 0;
set s=a+b;
select s;
end;
";
mysql_query($sql);//創(chuàng)建一個myproce5的存儲過程
$sql = "call test.myproce5(4,6);";
mysql_query($sql);//調(diào)用myproce5的存儲過程,在cmd下面看效果

實例六:case語法
復(fù)制代碼 代碼如下:

$sql = "
create procedure myproce6(in score int)
begin
case score
when 60 then select '及格';
when 80 then select '及良好';
when 100 then select '優(yōu)秀';
else select '未知分?jǐn)?shù)';
end case;
end;
";
mysql_query($sql);//創(chuàng)建一個myproce6的存儲過程
$sql = "call test.myproce6(100);";
mysql_query($sql);//調(diào)用myproce6的存儲過程,在cmd下面看效果

實例七:循環(huán)語句
復(fù)制代碼 代碼如下:

$sql = "
create procedure myproce7()
begin
declare i int default 0;
declare j int default 0;
while i<10 do
set j=j+i;
set i=i+1;
end while;
select j;
end;
";
mysql_query($sql);//創(chuàng)建一個myproce7的存儲過程
$sql = "call test.myproce7();";
mysql_query($sql);//調(diào)用myproce7的存儲過程,在cmd下面看效果

實例八:repeat語句
復(fù)制代碼 代碼如下:

$sql = "
create procedure myproce8()
begin
declare i int default 0;
declare j int default 0;
repeat
set j=j+i;
set i=i+1;
until j>=10
end repeat;
select j;
end;
";
mysql_query($sql);//創(chuàng)建一個myproce8的存儲過程
$sql = "call test.myproce8();";
mysql_query($sql);//調(diào)用myproce8的存儲過程,在cmd下面看效果

實例九:loop語句
復(fù)制代碼 代碼如下:

$sql = "
create procedure myproce9()
begin
declare i int default 0;
declare s int default 0;

loop_label:loop
set s=s+i;
set i=i+1;
if i>=5 then
leave loop_label;
end if;
end loop;
select s;
end;
";
mysql_query($sql);//創(chuàng)建一個myproce9的存儲過程
$sql = "call test.myproce9();";
mysql_query($sql);//調(diào)用myproce9的存儲過程,在cmd下面看效果

實例十:刪除存儲過程
mysql_query("drop procedure if exists myproce");//刪除test的存儲過程
實例十一:存儲過程中的游標(biāo)
總結(jié):
1.存儲過程可用于InnoDB或MyISAM類型的表
2.show procedure status顯示數(shù)據(jù)庫中所有存儲的存儲過程基本信息,包括所屬數(shù)據(jù)庫,存儲過程名稱,創(chuàng)建時間等<br>
3.SHOW CREATE PROCEDURE myproce顯示某一個存儲過程的詳細(xì)信息<br>

相關(guān)文章

最新評論

大港区| 神农架林区| 溆浦县| 桃江县| 鄯善县| 嘉善县| 奎屯市| 饶阳县| 乌鲁木齐市| 阳西县| 本溪市| 慈利县| 曲沃县| 琼海市| 北京市| 浦县| 秭归县| 漳浦县| 乌兰县| 和平县| 桦川县| 神木县| 修武县| 中牟县| 宜都市| 昆明市| 黄陵县| 香港 | 佛坪县| 马鞍山市| 泾源县| 磴口县| 淳安县| 枝江市| 利川市| 万州区| 万源市| 三台县| 靖远县| 汾阳市| 手机|