中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php中怎么調用存儲函數和存儲過程,它的觸發器是什么

發布時間:2021-06-28 17:34:08 來源:億速云 閱讀:155 作者:chen 欄目:編程語言

本篇內容介紹了“php中怎么調用存儲函數和存儲過程,它的觸發器是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

在php中使用存儲函數或存儲過程的示意

//調用存儲函數:

$v1= $_POST["a];sv2 = $_POST["b];
$sq1 = "insert into tab1 (id, f2, f3)values ( null,nowO. fumnc1(Sv1 , $v2) )":$result= mysql_query($sql);

//調用存儲過程:

$v1 = $_POST[ "usemame"];$v2=$_POST["pass"];sv3= $_POST["age"];
$sql ="callinsert_user(Sv1,$v2,$v3 ); ";llinsert_user)是一個存儲過程,帶3個參數,會將該3個參數數據寫入<insert〉某個表中。
Sresult = mysql_queryO;

另一個使用存儲過程返回結果集的例子

$sql m"call Get_User_iInfo( sid )“;//Get_User_info)是一個存儲過程,其中會返回某個指定id 的用戶信息$result = mysql_query(ssql);

這里得到的就是“結果集”了

觸發器(trigger)

含義:

觸發器,也是一段預先定義好的編程代碼〈跟存儲過程和存儲函數一樣〉,并有個名字。但:它不能調用,而是,在某個表發生某個事件(增,刪,改〉的時候,會自動“觸發”而調用起來。

定義形式:

create trigger觸發器名︰觸發時機觸發事件on表名foreach rowasbegin
//這里,才是編程的位置,也就是觸發器的內部語句end3

說明:

1,觸發時機,只有2個: before《在....之前), after《在....之后〉﹔2,觸發事件,只有3個: insert, update , delete

2,觸發事件,只有3個: insert,update , delete

3,即觸發器的含義是:在某個表上進行insert(或 update,或 delete)之前〈或之后〉,會去執行其中寫好的代碼(語句);即每個表只有6個情形會可能調用該觸發器,

4,通常,觸發器用于在對某個表進行增刪改的操作的時候,需要同時去做另外一件事情的時候;5,在觸發器的內部,有2個關鍵字代表某種特定的含義,可以用了獲取數據∶

new:

它代表當前正要執行的 insert  update 的時候的“新行”數據﹔通過它,可以獲取這一新行數據的任意一個字段的值,形式為:

set@v1 = new.id;

//獲得該新插入或update行的id字段的值(前提是有該id)

set@v2 = new.age;//同上,

old:

它代表當前正要執行的delete的時候的“舊行”數據,通過它,可以獲取這一舊行數據的任意一個字段的值,形式為:

set @v1 = old.id:I

獲得該新插入或update行的id字段的值(前提是有該id)

set @v2 = old.age;//同上;

#先刪除tab_int_max中的所有數據:

delete from tab_int_max1;

#取得tab_int中的f1字段的最大值,并存入變量@maxfselect max(f1) into @maxf1 from tab_int;

#然后,根據該得到的f1字段的最大值,作為條件,取出3個字段的值:

select f2 into @v2 from tab_int where f1 = @maxf1;
select f3 into @v3 from tab_int _ where f1 = @maxf1;#然后,將@maxf1,@v2,@v3插入到表tab_int_max1
insert into tab_int_max1 (f1,f2,f3)values( @maxf1,@v2,@v3);end;
#再建一個觸發器,在表tab_int進行insert之前,將該行數據#也同時插入到一個跟其類似結果的表(tab_int_some)中
:CREATE TABLE tab_int_some (
id int(11) DEFAULT NULL,age tinyint(4) DEFAULT NULL);
create trigger copy_data before insert on tab_int for each rowbegin
set @v1 = new.f1;
#獲得新行的字段f1的值;
set @v2 = new.f2;#獲得新行的字段f2的值;
insert into tab_int_some(id,age)values(@v1,@v2);end;

“php中怎么調用存儲函數和存儲過程,它的觸發器是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

易门县| 高青县| 竹溪县| 永昌县| 广州市| 莎车县| 宝坻区| 高淳县| 阳原县| 菏泽市| 股票| 喜德县| 兖州市| 抚州市| 花莲县| 宣威市| 北宁市| 连州市| 镇江市| 来宾市| 镇沅| 余干县| 谷城县| 纳雍县| 屏边| 南投县| 巩义市| 上高县| 汝阳县| 大足县| 广西| 息烽县| 平果县| 兴安县| 新安县| 晋江市| 平陆县| 中西区| 益阳市| 彩票| 秦安县|