MySQL - Como ejecuto un Proc. Almacenado desde una web???

 
Vista:

Como ejecuto un Proc. Almacenado desde una web???

Publicado por Jc (6 intervenciones) el 23/10/2006 15:44:34
Estoy implementando la nueva funcionalidad de mySQL v 5.0: los procedimientos almacenados.
Programé uno que toma los datos de un cliente y crea una nueva fila en una tabla si es que los datos ingresados no existen (son de un usuario nuevo), o los modifica en caso de existir...lo he probado directamente desde el analizador de consultas de mySql y funciona...

El problema es que no estoy seguro de como llamarlo desde una pàgina web. Lo estoy haciendo de esta forma y el sistema ni siquiera me entrega un error. Es como si la sentencia no se ejecutara...alguien sabe COMO EJECUTAR UN PROCEDIMIENTO
ALMACENADO DESDE UN SITIO WEB.

De ante mano, gracias...

---

Asi lo llamo:
----------------
sSql = "Call SP_INSERT_USUARIOS (" & IdUser & "," _
& "'" & strRutUser & "'," _
& "'" & strDigUser & "'," _
& "'" & strNombreUser & "'," _
& "'" & strPaternoUser & "'," _
& "'" & strMaternoUser & "'," _
& "'" & strFonoUser & "'," _
& "'" & strEmailUser & "'," _
& intCargoUser & "," _
& intTipoUser & ")"

Set cmd = miConexion.execute(sSql)

El código del procedimiento es el siguiente:
-----------------------------------------------------------

DELIMITER $$

DROP PROCEDURE IF EXISTS `uaf_dbo`.`SP_INSERT_USUARIOS` $$
CREATE PROCEDURE `SP_INSERT_USUARIOS`(IN parIdUsuario INT, IN parRut VARCHAR(10),IN parDigito VARCHAR(1),IN parNombre VARCHAR(120),IN parPaterno VARCHAR(50),IN parMaterno VARCHAR(50),IN parTelefono VARCHAR(20),IN parEmail VARCHAR(30),IN parCargo int, IN parId_perfil INT)
BEGIN

/*

Procedimiento : SP_INSERT_USUARIOS
Funcionalidad : Inserta o modifica usuarios
Fecha : 23 de Octubre 2006
Observaciones : El parametro IdUsuario determina cuando se está insertando o
modificando un dato.

*/


IF parIdUsuario IS NULL THEN -- Id del usuario es nulo...ser esta insertando un usuario

SELECT (@varCuantos_usuarios:=Count(U.Nombre)) AS C FROM user_uaf U WHERE U.RUT = parRut;

IF @varCuantos_usuarios = 0 Then

-- El rut no existe. Se ingresa.

SELECT (@varId_usuario:=Id) FROM UIndex WHERE TABLA = "user_uaf";

INSERT INTO User_uaf (Id_Usuario,
Rut,
Dig,
Nombre,
Apellido1,
Apellido2,
Telefono,
Correo,
Id_Cargo,
Id_perfil)
VALUES (@varId_usuario,
parRut,
parDigito,
parNombre,
parPaterno,
parMaterno,
parTelefono,
parEmail,
parCargo,
parId_perfil);

UPDATE UIndex SET Id = Id + 1 WHERE TABLA = "user_uaf";

END IF;

ELSE
UPDATE User_uaf SET Rut = parRut,
Dig = parDigito,
Nombre = parNombre,
Apellido1 = parPaterno,
Apellido2 = parMaterno,
Telefono = parTelefono,
Correo = parEmail,
id_Cargo = parCargo,
Id_perfil = parId_perfil
WHERE Id_usuario = parIdUsuario;

END IF;

END $$

DELIMITER ;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder