簡體   English   中英

MySQL存儲過程參數輸入和輸出

[英]MySQL Stored Procedure Parameter IN and OUT

我是MySQL存儲過程的新手,起初我創建了這個小過程。 只需輸入一個輸入,將其加為“ Hi!”,然后分配給OUT p2。 我做錯了什么?

CREATE DEFINER=`root`@`localhost` PROCEDURE `testing`(IN `p1` CHAR(50), OUT `p2` TEXT)
    LANGUAGE SQL
    NOT DETERMINISTIC
    CONTAINS SQL
    SQL SECURITY DEFINER
    COMMENT 'this is comment'
BEGIN

set p2 = "Hi! " + p1;

END

當我使用

CALL `testing`('Joe', @p);
select @p;

給我警告

Truncated incorrect double value: 'Hi!'
Truncated incorrect double value: 'Joe'

對於初學者的任何幫助將不勝感激。

這樣寫程序

 CREATE DEFINER=`root`@`localhost` PROCEDURE `testing`(IN `p1` CHAR(50), OUT `p2` TEXT)
        LANGUAGE SQL
        NOT DETERMINISTIC
        CONTAINS SQL
        SQL SECURITY DEFINER
        COMMENT 'this is comment'
    BEGIN

    set p2 = CONCAT("Hi! " , p1);

    END

暫無
暫無

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

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