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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql带入参的存储过程_MySql带参数存储过程()

發布時間:2023/12/20 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql带入参的存储过程_MySql带参数存储过程() 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

摘要 騰興網為您分享:MySql帶參數存儲過程(),中信期貨,中建在線,先游,途滿配貨等軟件知識,以及趣聞頭條,鄭州手機app,每日優鮮app,人力資源應用軟件,濰坊手機平臺,得意家,華潤萬家網上商城,同步器軟件,映美570kii,無固定期限勞動合同模板,百戰天蟲重裝上陣,html5軟件,封鬼之邪惡的源頭2.4,美麗板,滬深300股指期貨合約等軟件it資訊,歡迎關注騰興網。本文分享的這個mysql存儲過程是根據用戶輸入的條件和排序方式查詢用戶的信息,排序條件可以沒有。 調用方式:call GetUsersDynamic('age=30',''); 代碼: 復制代碼 代碼示例: /********動態查詢...

本文分享的這個mysql存儲過程是根據用戶輸入的條件和排序方式查詢用戶的信息,排序條件可以沒有。

調用方式:call GetUsersDynamic('age<=30','');

代碼:

復制代碼 代碼示例:

/********動態查詢用戶的信息********/

CREATE PROCEDURE GetUsersDynamic(WhereCondition varchar(500),OrderByExpress varchar(100))

begin

declare stmt varchar(2000);

if LENGTH(OrderbyExpress)>0 then

begin

set @sqlstr=concat('select id,name,password,age,getdate(adddate) as AddDate from users where ',WhereCondition,' order by ',OrderByExpress);

end;

else

begin

set @sqlstr=concat('select id,name,password,age,getdate(adddate) as AddDate from users where ',WhereCondition);

end;

end if;

prepare stmt from @sqlstr;

execute stmt;

end;

getdate()是一個自定義的函數,作用是返回日期的短格式

復制代碼 代碼示例:

CREATE DEFINER=`root`@`localhost` FUNCTION `getdate`($date datetime) RETURNS varchar(50) CHARSET latin1

return date_format($date,'%Y-%m-%d');

動態插入數據的存儲過程,(注意四個單引號表示一個一引號):

復制代碼 代碼示例:

CREATE DEFINER=`root`@`localhost` PROCEDURE `InsertUser`(in name2 varchar(50),in password2 varchar(32),in age2 int,in adddate2 datetime)

begin

DECLARE stmt varchar(2000);

set @sqlstr=concat('insert into users(name,password,age,adddate) values(');

set @sqlstr=concat(@sqlstr,'''',name2,'''',',','''',password2,'''',',',age2,',','''',adddate2,'''',')');

prepare stmt from @sqlstr;

execute stmt;

end;

附,另一種帶參數的形式,在mysql存儲過程中動態執行sql文。

代碼:

復制代碼 代碼示例:

mysql> PREPARE stmt1 FROM 'SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse';

mysql> SET @a = 3;

mysql> SET @b = 4;

mysql> EXECUTE stmt1 USING @a, @b;

mysql> SET @a = 'select * from table1 ';

mysql> SET @b = 'where column1>10 limit 1';

mysql> SET @a = concat(@a,@b);

mysql> PREPARE stmt1 FROM @a;

mysql> EXECUTE stmt1;

相關推薦

總結

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

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