为什么我从此存储过程中收到Null? [英] Why do I receive Null from this stored procedure?
本文介绍了为什么我从此存储过程中收到Null?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我用输出参数@name创建了一个存储过程.但是当我调用它时,我收到 Null.如何正确调用该过程或该过程有错误?
I created a stored procedure with the output parameter @name. But when I call it, I receive Null. How do I correctly call the procedure or is there an error in the procedure?
CREATE PROCEDURE GetName(IN kartennummer CHAR(16), OUT name VARCHAR(91))
BEGIN
SELECT @name = (SELECT CONCAT_WS(' ', Vorname, Nachname) FROM Kunden kund JOIN Konten kont WHERE kund.KundenID = kont.KundenID AND kont.Kartennummer = kartennummer);
END;
我这样调用程序:
CALL GetNAME("7717015800401117", @name);
为什么我会收到Null而不是名称?Select 语句单独起作用.
Why do I receive Null and not the name? The Select statement alone works.
推荐答案
DELIMITER $$
CREATE PROCEDURE GetName(IN kartennummer CHAR(16), OUT name VARCHAR(91))
BEGIN
SELECT
CONCAT_WS(' ', Vorname, Nachname)
INTO
name
FROM
Kunden kund
JOIN
Konten kont
WHERE
kund.KundenID = kont.KundenID
AND kont.Kartennummer = kartennummer;
END;
DELIMITER ;
这将只能工作,如果结果如果选择查询IHAS ONL1名称,但假设是您
This will only work , if the result if the select query ihas onl1 name, but assume that is the case for you
这篇关于为什么我从此存储过程中收到Null?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文