當前位置:首頁 » 存儲配置 » mysql存儲過程代碼

mysql存儲過程代碼

發布時間: 2022-09-05 11:31:50

① Mysql編寫一個存儲過程

1、delimiter // ,聲明分隔符:DELIMITER是分割符的意思,因為MySQL默認以";"為分隔符,如果我們沒有聲明分割符,那麼編譯器會把存儲過程當成SQL語句進行處理,則存儲過程的編譯過程會報錯,所以要事先用DELIMITER關鍵字申明當前段分隔符,這樣MySQL才會將";"當做存儲過程中的代碼,不會執行這些代碼(這里如果不懂的話,你可以通過試錯的方法來理解)。
2、編寫存儲過程的格式:CREATE PROCEDURE([[IN |OUT |INOUT ]參數名數據類形...])
例子:
1)create procere proc1(out s int) // 只有輸出
2)create procere proc2(in p_in bigint) // 只有輸入
3)create procere proc15() // 沒有輸入與輸出
4)create procere demo_multi_param(in id bigint,in name varchar(32),out c int) //多輸入與輸出
3、過程體的開始與結束使用BEGIN與END進行標識。
4、select count (*) into s from student; // 過程體,一系列的邏輯語句,sql語句
5、delimiter ; 用完了之後要把分隔符還原。

② mysql存儲過程中使用游標的實例

復制代碼
代碼如下:
DELIMITER
$$
DROP
PROCEDURE
IF
EXISTS
getUserInfo
$$
CREATE
PROCEDURE
getUserInfo(in
date_day
datetime)
--
--
實例
--
MYSQL存儲過程名為:getUserInfo
--
參數為:date_day日期格式:2008-03-08
--

BEGIN
declare
_userName
varchar(12);
--
用戶名
declare
_chinese
int
;
--
語文
declare
_math
int
;
--
數學
declare
done
int;
--
定義游標
DECLARE
rs_cursor
CURSOR
FOR
SELECT
username,chinese,math
from
userInfo
where
datediff(createDate,
date_day)=0;
DECLARE
CONTINUE
HANDLER
FOR
NOT
FOUND
SET
done=1;
--
獲取昨天的日期
if
date_day
is
null
then

set
date_day
=
date_add(now(),interval
-1
day);
end
if;
open
rs_cursor;
cursor_loop:loop

FETCH
rs_cursor
into
_userName,
_chinese,
_math;
--
取數據

if
done=1
then

leave
cursor_loop;

end
if;
--
更新表
update
infoSum
set
total=_chinese+_math
where
UserName=_userName;
end
loop
cursor_loop;
close
rs_cursor;

END$$
DELIMITER
;

③ 怎麼寫mysql存儲過程,並用php調用它

  • 實現原理

  1. 首先,需要知道怎麼寫mysql存儲過程,了解mysq存儲過程語言,

  2. 其次,使用mysql工具創建存儲過程。

  3. 最後,通過mysql_query()函數執行mysql變數的設置和mysql存儲過程及返回值。

  • 具體代碼如下:

  1. mysql存儲過程代碼

createprocerepro_name(user_idint)
begin
.........
end

2. PHP代碼

$host="localhost";
$user="root";
$password="232412";
$db="user_db";
$dblink=mysql_connect($host,$user,$password)ordie("can'tconnecttomysql");
mysql_select_db($db,$dblink)ordie("can'tselectuser_db");
$user_id=1;
$res=mysql_query("set@a=$user_id",$dblink);
$res=mysql_query("callpro_name(@a)",$dblink);

④ mysql的存儲過程怎麼寫

DELIMITER $$

USE `test`$$

DROP PROCEDURE IF EXISTS `proc_now_time`$$

CREATE DEFINER=`root`@`%` PROCEDURE `proc_now_time`(OUT `now_time` TEXT)
BEGIN
#Routine body goes here...
DECLARE
now_time TEXT;
select name ,age from test1,test2 INTO now_time;
SELECT now_time;
END$$

DELIMITER ;

⑤ mysql一段存儲過程代碼,一直提示有語法錯誤,高分請教,可以追加分數

CREATEPROCEDUREtest_delete(INi_idINT,OUTo_retINT)
BEGIN
,NOTFOUND,SQLEXCEPTIONseto_ret=0;--後面都沒有異常判斷語句,這句話在存儲中沒有用到
deletefrommemberwheremember_id=i_id;
seto_ret=1;
END;

⑥ php調用mysql存儲過程,如何實現。 我的代碼如下:

mysql存儲過程返回2個資源,第一個是執行信息,第二個是存儲過程返回結果。

mysql_*系列函數無法獲取超過1個資源,需使用mysqli或PDO代替。


PDO:

$stmt=$db->prepare("CALLpro_rb_save(?,?,@return_msg);");
$stmt->bindParam(1,$a);
$stmt->bindParam(2,$b);
$stmt->execute();
$outputArray=$db->query("select@return_msg")->fetch(PDO::FETCH_ASSOC);

var_export($return_msg);

⑦ mysql存儲過程

MySQL存儲過程創建的格式如下:
CREATE PROCEDURE 過程名 ([過程參數[,...]])[特性 ...] 過程體
舉例代碼如下:

CREATE PROCEDURE proc1(OUT s int) BEGIN SELECT COUNT(*) INTO s FROM user; END

存儲過程根據需要可能會有輸入、輸出、輸入輸出參數,這里有一個輸出參數s,類型是int型,如果有多個參數用","分割開。
過程體的開始與結束使用BEGIN與END進行標識。
注意:MySQL在5.0以前並不支持存儲過程

java調用MySQL存儲過程

java代碼:

Class.forName("com.mysql.jdbc.Driver");

Connectioncon=DriverManager

.getConnection("jdbc:mysql://localhost:3306/test?user=root&password=111111");

Stringsql="{callsel(?)}";

CallableStatementcs=(CallableStatement)con.prepareCall(sql);

cs.execute();

Stringname=cs.getString(1);

System.out.println(name);

創建存儲過程代碼:

dropprocereifexistssel;

createproceresel(outname1varchar(225))

begin

;

end

輸出結果:

⑨ 怎麼在mysql中查詢已建立的存儲過程

1、首先先創建一個存儲過程,代碼如圖,存儲過程主要的功能是為表JingYan插入新的數據。

熱點內容
jsp的資料庫連接配置 發布:2025-01-10 12:49:03 瀏覽:484
oracle資料庫代碼 發布:2025-01-10 12:42:11 瀏覽:38
電腦tb賬戶密碼是多少 發布:2025-01-10 12:34:38 瀏覽:348
方舟如何進私人伺服器 發布:2025-01-10 12:33:01 瀏覽:349
撞球游戲源碼 發布:2025-01-10 12:32:44 瀏覽:549
紅米note4x存儲 發布:2025-01-10 12:23:05 瀏覽:157
游娛寶盒怎麼安裝安卓系統 發布:2025-01-10 12:20:13 瀏覽:941
androidssl 發布:2025-01-10 12:20:06 瀏覽:133
iphone微信緩存怎麼清理 發布:2025-01-10 12:20:04 瀏覽:419
螺旋矩陣演算法 發布:2025-01-10 12:19:59 瀏覽:504