我是MySQL存储过程的新手,为了初始目的,我创建了这个小程序。只需输入一个输入,用它来“!!”并指定给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'
对初学者的任何帮助都将不胜感激。
答案 0 :(得分:1)
像这样编写程序
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