Mysql变量值为null

时间:2016-02-29 00:27:51

标签: mysql stored-procedures

panel.superpose

对于任何输入,我将staffID视为NULL。 例如:

xyplot(y ~ x, data=d, groups=g, panel=function(...) {
    panel.xyplot(...);
    panel.superpose(..., panel.groups=function(x, y, col.line, ...) {
        dd <- aggregate(y~x, data.frame(x,y), mean)
        panel.xyplot(x=dd$x, y=dd$y, col=col.line, type="l")
    })
})

我的数据如下:

CREATE PROCEDURE `checkAdminAccess`
(
IN accountID INT
)
BEGIN
DECLARE staffID INT;
#DECLARE num INT;    

SELECT StaffID INTO staffID
  FROM staff 
 WHERE AccountID = accountID
   AND IsAdmin = 1;

SELECT staffID;

IF (staffID IS NULL) THEN
    CALL raise(1356, 'Admin access required.');    
END IF;

END;

有人可以告诉我如何在Mysql中为变量选择一个值吗?

1 个答案:

答案 0 :(得分:0)

问题是您检查过程的返回值,该过程必须为null,因为过程不返回任何值。它最大值返回结果集。

可能的解决方案:

  1. 将程序更改为function,返回工作人员。
  2. 向过程添加一个out参数,并使用它来检索staffid。以上链接还介绍了如何执行此操作。