Ver Mensaje Individual
  #3 (permalink)  
Antiguo 10/05/2011, 08: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, 5 meses
Puntos: 2658
Respuesta: Problema con Procedimiento de Almacenado

No te inserta nada, porque el VALUE no contiene variables sino cadenas de texto...
Los apóstrofes los puedes usar en el PHP, pero en en cuenta que el cuerpo del SP es SQL, no PHP...
Código MySQL:
Ver original
  1. DELIMITER $$
  2. DROP PROCEDURE IF EXISTS insert_persona $$
  3.  
  4. CREATE PROCEDURE insert_persona
  5.     (IN cedulaINT,
  6.     IN nombres VARCHAR(120),
  7.     IN telefono VARCHAR(15) )
  8.  
  9. DECLARE nomb VARCHAR(120);
  10. DECLARE tel VARCHAR(15);
  11.  
  12. SET ced=cedula;
  13. SET nomb=nombres;
  14. SET tel=telefono;
  15.  
  16. INSERT INTO datos_personales VALUES (ced, nomb, tel);
  17.  
  18. END$$
  19. DELIMITER;

De hecho, ni siquiera tienes que declarar variables, ya que puedes usar los mismos parámetros, que en definitiva son variables locales:
Código MySQL:
Ver original
  1. DELIMITER $$
  2. DROP PROCEDURE IF EXISTS insert_persona $$
  3.  
  4. CREATE PROCEDURE insert_persona
  5.     (IN cedula INT,
  6.     IN nombres VARCHAR(120),
  7.     IN telefono VARCHAR(15) )
  8.      INSERT INTO datos_personales VALUES (cedula , nombres , telefono);
  9. END$$
  10. DELIMITER;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)