Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在节点mysql中执行存储过程后返回的rows对象_Mysql_Sql_Node.js_Stored Procedures - Fatal编程技术网

在节点mysql中执行存储过程后返回的rows对象

在节点mysql中执行存储过程后返回的rows对象,mysql,sql,node.js,stored-procedures,Mysql,Sql,Node.js,Stored Procedures,我有一个子查询正在执行,正在寻找insertId,但我得到的是一个没有任何信息的rows对象 我的存储过程 CREATE PROCEDURE `day`(IN start DATE, IN end DATE, IN event_id INT) BEGIN WHILE start <= end DO INSERT INTO day(date, event_id) VALUES(start, event_id); SET start = start +

我有一个子查询正在执行,正在寻找insertId,但我得到的是一个没有任何信息的rows对象

我的存储过程

CREATE PROCEDURE `day`(IN start DATE, IN end DATE, IN event_id INT)
BEGIN
    WHILE start <= end DO
        INSERT INTO day(date, event_id) VALUES(start, event_id);
        SET start = start + 1;
    END WHILE;
END
用于
行的控制台输出

[
    {
      "fieldCount": 0,
      "affectedRows": 0,
      "insertId": 0,
      "serverStatus": 11,
      "warningCount": 0,
      "message": "",
      "protocol41": true,
      "changedRows": 0
    },
    {
      "fieldCount": 0,
      "affectedRows": 0,
      "insertId": 0,
      "serverStatus": 11,
      "warningCount": 0,
      "message": "",
      "protocol41": true,
      "changedRows": 0
    },
    {
      "fieldCount": 0,
      "affectedRows": 0,
      "insertId": 0,
      "serverStatus": 11,
      "warningCount": 0,
      "message": "",
      "protocol41": true,
      "changedRows": 0
    },
    {
      "fieldCount": 0,
      "affectedRows": 1,
      "insertId": 0,
      "serverStatus": 3,
      "warningCount": 0,
      "message": "",
      "protocol41": true,
      "changedRows": 0
    }
  ]
期望和问题


由于存储过程的插入,我需要一些实际的信息

该存储过程实际上返回了什么吗?我的存储过程将定义一个要挂接的变量,返回的
如下所示:

DECLARE
  the_id integer;
BEGIN
  INSERT INTO the_table (first, last, address, zip)
  VALUES (first, last, address, zip)
  RETURNING _id INTO the_id;

RETURN the_id;

END;
返回实际上将ID发送到输出


免责声明:我使用PostgreSQL并在plpsql中编写函数,但我相信语法是类似的。

谢谢Joel,但它会返回多个值吗?我的存储过程是一个循环,根据开始日期和结束日期插入多个记录否-这只会返回一个值。我相信您可以将查询包装在
return()
中,或者简单地将
作为
放在
开始之前。您可能还想查看
REF CURSOR
类型,但我不太精通该语法。
DECLARE
  the_id integer;
BEGIN
  INSERT INTO the_table (first, last, address, zip)
  VALUES (first, last, address, zip)
  RETURNING _id INTO the_id;

RETURN the_id;

END;