miércoles, 10 de mayo de 2017

Funciones en Mysql - Inicio de sesión

CREATE FUNCTION IniciarSesion(pUsuario VARCHAR(20), pContrasenya VARCHAR(20))
RETURNS INT
DETERMINISTIC
BEGIN
  DECLARE resultado INT;
  SET resultado = 0;
  IF NOT EXISTS (select * from usuarios where NombreUsuario = pUsuario) THEN SET resultado = -1;
ELSE
IF EXISTS  (select * from usuarios where NombreUsuario = pUsuario AND Contrasenya = pContrasenya)
THEN SELECT  IdPuestoEmpleadoFk INTO resultado FROM usuarios WHERE NombreUsuario = pUsuario AND Contrasenya = pContrasenya;
ELSE  SET resultado = -2;
END IF;
END IF;
RETURN resultado;
END


Funciones en Mysql

Al empiezo colocar en la consola mysql> delimiter //

CREATE FUNCTION AvanceActividad(IdActividad INT)
RETURNS INT
DETERMINISTIC
BEGIN
  DECLARE resultado INT;
  SET resultado = 0;
  SELECT COUNT(StatusTarea)*100/( SELECT COUNT(*) FROM tareasactividades) INTO resultado
    FROM tareasactividades
    WHERE StatusTarea = 0 AND IdActividadFk = IdActividad;
  RETURN resultado;
END

Terminar con: //
Para terminar el script, teclear: delimiter ;

Mostrar funciones en el sistema: SHOW FUNCTION STATUS;
Eliminar funcion en el sistema: DROP FUNCTION IF EXISTS nombreFuncion;
Describir funciones en el sistema: SHOW CREATE FUNCTION nombreFuncion;
Describir procedimientos en el sistema: SHOW CREATE PROCEDURE nombreProcedimientos;



RECURSOS: Mas informaciónDelimiter