
25/09/2009, 04:22
|
| | Fecha de Ingreso: agosto-2006
Mensajes: 219
Antigüedad: 18 años, 6 meses Puntos: 0 | |
Respuesta: ayuda con proceso almacenado. buenos días alkortius, lo primero muchas gracias por contestar.
A ver si si así esta bien.
Código:
DELIMITER //
CREATE PROCEDURE usuario_usuario (IN id_erp VARCHAR(12), IN Nombre VARCHAR (50), IN correo VARCHAR(50), IN creacion_usuario DATE, IN rol VARCHAR(50))
#comenzamos el procedimiento.
BEGIN
#consultamos para ver si existe el usuario.
SELECT COUNT(UID) INTO @CUENTA FROM users name = id_erp;
#si nos da 1, quiere decir que existe y ejecutamos la actualización
IF @CUENTA ==1
UPDATE USERS SET name = id_erp, mail = correo, where name = id_erp;
ENDIF
#si nos da 0, quiere decir que no existe y tenemos que realizar el insert
IF @cuenta == 0
#->>> nueva linea añadida con la declaración de la variable.
DECLARE ultimoregistro CHAR(20) DEFAULT NULL;
INSERT INTO users (name,pass,mail,mode,sort,threshold,created,access,login,status,timezone,language,init) VALUES (id_erp,'e10adc3949ba59abbe56e057f20f883e',correo,0,0,0,creacion_usuario,0,0,1,7200,'es',correo);
SELECT LAST_INSERT_ID() AS @ultimoregistro FROM users;
#->>>> se declara la asignación del valor.
SET ultimoregistro = 'valor'
INSERT INTO profile_values (fid, uid, value) VALUES (2, ultimoregistro, nombre);
INSERT INTO users_roles (uid,rid) VALUES (ultimoregistro, rol);
ENDIF
END$$
DELIMITER;
Gracias |