我确实经历过类似的问题以及他们对SO的回答,但这没有帮助。这是我的程序:
DELIMITER //
DROP PROCEDURE IF EXISTS test//
CREATE PROCEDURE test()
BEGIN
DECLARE intime TIME;
SET intime:=(SELECT intime FROM new_attendance WHERE empid='xxx' AND DATE(dt)='2013-08-02');
SELECT intime;
END //
DELIMITER ;
当我执行以下代码行时,它会工作并返回正确的值:
SELECT empid FROM new_attendance WHERE empid='xxx' AND DATE(dt)='2013-08-02'
但它在程序内部不起作用。我感谢您的帮助。在此先多谢!
首先,MySQL中的变量赋值采用一种=
语法,而不是:=
一种。
编辑:罢工以上,似乎这两种语法毕竟受支持...
其次,intime
完全消除该变量并不简单,只需执行
DELIMITER //
DROP PROCEDURE IF EXISTS test//
CREATE PROCEDURE test()
BEGIN
SELECT intime FROM new_attendance WHERE empid='xxx' AND DATE(dt)='2013-08-02';
END //
DELIMITER ;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句