簡體   English   中英

如何使用LAST_INSERT_ID()從存儲過程中OUT

[英]How to OUT from a stored procedure using LAST_INSERT_ID()

Mysql版本14.14 Distrib 5.1.41

我有一個存儲過程,我試圖編譯,但錯誤不斷出現。 我的存儲過程准備一個insert語句,執行它,解除分配准備好的語句,然后嘗試返回最后一個插入ID。 這是一個偽提取:

1 CREATE PROCEDURE `audit`( IN pExampleValue varchar(50))
2 
3 BEGIN
4 PREPARE stmt FROM 'INSERT INTO `Audit` (`Value`) VALUES (?)';
5 EXECUTE stmt USING @pExampleValue;
6 DEALLOCATE PREPARE stmt
7 
8 RETURN LAST_INSERT_ID() AS `AuditId`;
9 END$$

從我能夠收集的我的mysql版本可以在存儲過程中使用預處理語句。 但是我得到的錯誤是。

SQL Error (1313): RETURN is only allowed in a FUNCTION

由於錯誤說我無法從程序返回。 但是我可以從一個程序出來? 我很難找到一個查詢的示例,我將從這個例子中做到這一點。

要么聲明一個OUT參數,要么讓你的過程成為一個FUNCTION

你會在這里找到足夠的文檔:

http://dev.mysql.com/doc/refman/5.5/en/create-procedure.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM