mysql存儲過程 帶參數 插入 操作


今天再次添補一下小小內容,閑話不多說,直入標題。

先來看下,如何創建帶參數的 存儲過程(ps:本文只限mysql5及以上版本)

CREATE PROCEDURE prSaveFileInfo
(
TableName1 VARCHAR(64),
FileName1 VARCHAR(50),
FileType1 bigint,
Category1 bigint,
ProtocalVersion1 bigint,
FileCreationTime1 VARCHAR(50),
DeviceID1 bigint,
FileSN1 bigint,
StateFlag1 bigint
)
BEGIN
DECLARE strSQL VARCHAR(2048);
SET strSQL = concat(' insert into ',TableName1,'(FileName, FileType, Category, ProtocalVersion,
     FileCreationTime, DeviceID, FileSN, StateFlag)
    values("',FileName1,'"',',',FileType1,',',Category1,',',ProtocalVersion1,',','"',FileCreationTime1,'"',',',DeviceID1,',',FileSN1,',',StateFlag1,')');
set @v_sql=strSQL;
prepare stmt from @v_sql;
execute stmt;
END;

 

 

注意:這里的sql拼接,請用concat() 函數來連接,否則后續傳參進來,會報 1292-Truncate Double value 錯誤。

 

 

我們再來看看調用這個procedure吧,很簡單,就一句話:

call prSaveFileInfo('TestDemoTable1', 'test1', 1, 2, 1, '2010-12-07 13:11:23', 1, 2, 1);

 

 

OK,大功告成。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM