簡體   English   中英

創建MySQL存儲過程

[英]Creating MySQL Stored Procedure

我正在使用 Aqua Data Studio 20.6 創建一個 MySQL 存儲過程。 以下是我的過程,我將其命名為sp_GetObjIDByProType

( IN prono char(15), IN imgtype char(8), OUT objid bigint )
BEGIN
    SELECT ObjectID INTO objid FROM images WHERE ProNumber = prono AND DocType = imgtype LIMIT 20;
END

當我嘗試創建存儲過程時,我收到以下錯誤消息:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IN imgtype char(8) )
( OUT objid bigint )
BEGIN
    SELECT ObjectID INTO objid F' at line 3

但是,似乎創建任務實際上是成功的( sp_GetObjIDByProType 出現在 'Procedures' 下)。 我可以在另一個 window 中查看和更改這個創建的存儲過程(在 'Alter' window 中生成存儲過程)。 這是否意味着存儲過程的創建實際上是成功的,還是我所做的有問題?

看起來您的程序已創建。 但是,查詢中的LIMIT 20沒有意義。 您將在OUT參數中返回選定的ObjectID ,該參數只能包含一個值。 然而,您將查詢限制為 20 行。

如果要返回最多 20 行,請將行作為結果集返回(省略 out 參數和INTO objid ),或將行限制為僅一行。

暫無
暫無

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

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