Ver Mensaje Individual
  #7 (permalink)  
Antiguo 26/07/2011, 07:40
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: No devuelve nada!!!

Cita:
Error Code : 1242
Subquery returns more than 1 row
Eso significa que la consulta
Código MySQL:
Ver original
  1. SELECT `Nombre_Persona`
  2. FROM `personas` P
  3. INNER JOIN`firma_conocimiento` FC ON `P`.`Cod.persona` = `FC`.`Cod.persona`
  4. WHERE `Cod.Doc`='SAC-0313'
devuelve más de un registro.

Verifica el contenido de la tabla. usando, como ya te mencioné, la sentencia sin el WHERE:
Código MySQL:
Ver original
  1. SELECT `Nombre_Persona`
  2. FROM `personas` P
  3. INNER JOIN`firma_conocimiento` FC ON `P`.`Cod.persona` = `FC`.`Cod.persona`;

Puede haber basura de las pruebas anteriores.

Respecto al SP, ¿hay alguna parte que no se entendiera cuando dije que las variables del prototipo no deben estar entre acentos inversos?.
Esto:
Código MySQL:
Ver original
  1. CREATE DEFINER=`root`@`localhost` PROCEDURE `firmar`(IN `Codigo` VARCHAR(20),IN `Version` INT,IN `idNombre` INT,IN `Fecha` DATE)

Debe ir así:
Código MySQL:
Ver original
  1. CREATE DEFINER=`root`@`localhost` PROCEDURE `firmar`(IN Codigo VARCHAR(20), IN Version INT, IN idNombre INT, IN Fecha DATE)

Y esto:
Código MySQL:
Ver original
  1. INSERT INTO `firma_conocimiento` (`Cod.Doc`,`Version`, `Cod.Persona`,`Fecha`)
  2. VALUES(`Codigo`,`Version`, `idNombre`, NOW());
debe ir así:
Código MySQL:
Ver original
  1. INSERT INTO `firma_conocimiento` (`Cod.Doc`,`Version`, `Cod.Persona`,`Fecha`)
  2. VALUES(Codigo, Version, idNombre, Fecha);
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)