Node.js llamada mysql valor de retorno del procedimiento almacenado

llamadas directas a las sentencias SQL y procedimientos almacenados llamada de retorno formato de datos no es lo mismo.
valor de retorno instrucción de llamada directa es tal que:
SELECT declaración:
[RowDataPacket {campos: 1 16}]

Actualización de declaración:
OkPacket {
  FieldCount: 0,
  los AffectedRows :. 1,
  insertId: 0,
  el serverStatus: 34 es,
  WARNINGCOUNT: 0,
  Mensaje: '(las filas emparejado :. 1 los Cambiado :. 1 Advertencias: 0 '
  protocol41: true,
  changedRows :. 1}

insret declaración:
OkPacket {
  FieldCount: 0,
  los AffectedRows :. 1,
  insertId: 0,
  el serverStatus: 2,
  WARNINGCOUNT: 0,
  Mensaje:'',
  protocol41 : true,
  changedRows: 0}

almacenado retorno procedimiento es tal que:
[[RowDataPacket {st: 1} ], // procedimiento almacenado dentro de una instrucción de selección para recuperar el último valor
  OkPacket {
    FieldCount: 0,
    los AffectedRows: 0,
    insertId: 0,
    el serverStatus: 34 es,
    WARNINGCOUNT: 0,
    Mensaje: '',
    protocol41: a verdaderos,
    changedRows: 0}]


como se ve por los resultados anteriores, el acceso al valor de retorno de sentencias SQL y la escritura no se puede almacenar en el mismo procedimiento.
Valor de retorno toma SQL:
 las filas vamos a RET = [0] .field;
valor de retorno del procedimiento almacenado tomada :
 las filas vamos a RET = [0] [0] .field;

Supongo que te gusta

Origin www.cnblogs.com/sundp/p/12463027.html
Recomendado
Clasificación