mysql MariaDB存储过程从表中选择无数据时出错

时间:2016-12-28 15:16:53

标签: mysql sql stored-procedures mariadb

我使用的是XAMPP,数据库版本应该是 Ver 15.1 Distrib 10.1.16-MariaDB ,我创建了一个简单的存储过程,

<!DOCTYPE html>
<html>

  <head>
    <script data-require="d3@4.0.0" data-semver="4.0.0" src="https://d3js.org/d3.v4.min.js"></script>
  </head>

  <body>
    <script>
      
      var svg = d3.select('body')
        .append('svg')
        .attr('width', 200)
        .attr('height', 200);
        
      var x = d3.scaleLinear()
        .range([0,200])
        .domain([1,5]);
        
      var y = d3.scaleLinear()
        .range([0,200])
        .domain([0, 10]);
        
      var data = [
        {
          x: 1,
          y: Math.random() * 10
        },{
          x: 2,
          y: Math.random() * 10
        },{
          x: false,
          y: false
        },{
          x: 4,
          y: Math.random() * 10
        },{
          x: 5,
          y: Math.random() * 10
        }
      ];
      
      var line = d3.line()
        .x(function(d){
          return x(d.x);
        })
        .y(function(d){
          return y(d.y);
        })
        .defined(function(d){
          return d.y && d.x;
        });
        
      svg.append('path')
        .style('stroke', 'steelblue')
        .style('stroke-width', 2)
        .style('fill', 'none')
        .attr('d', line(data));
      
    </script>
  </body>
</html>

并使用

调用它
DELIMITER //
 CREATE PROCEDURE GetAll()
   BEGIN
   SELECT *  FROM users;
   END //
DELIMITER ;

当表(用户)没有数据并且我使用上面的语句在phpmyadmin页面上调用存储过程时,它显示以下错误:

CALL GetAll();

但是当表有数据时,我调用它时不会产生错误。

大多数数据库都会发生这种情况吗?即使表没有数据,我该怎么做才能调用存储过程?

0 个答案:

没有答案