Bases de Datos - Atributos de las tablas como parametro de funciones

 
Vista:

Atributos de las tablas como parametro de funciones

Publicado por Atributos de las tablas como parametro de funciones (1 intervención) el 26/11/2017 03:42:38
Buenas tardes a Todos.

Estoy implementando funciones a mi DB.

En uno de los requerimientos, necesito llamar el valor de una tabla como parámetro de entrada de una función.
El Script va así:

1
2
3
4
5
6
7
8
9
10
11
CREATE TABLE empleado (
	idEmpleado int primary key auto_increment,
    nombresEmpleado varchar (45),
    apellidoEmpleado varchar (45),
    telefonoEmpleado varchar (10),
    salarioEmpleado int,
    idEmpresa int,
    foreign key (idEmpresa) references empresa (idEmpresa)
);
 
ALTER TABLE empleado add (msn varchar (45));

y mi función así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
DELIMITER $
 
CREATE FUNCTION mostrarMensaje1 (codEmpleado int, salario int)
RETURNS varchar (45)
BEGIN
	DECLARE txt varchar(45);
    IF salario < 700000
    THEN SET txt = 'Salario Bajo';
    ELSE  SET txt= 'Salario Alto';
    END IF;
    UPDATE empleado
    SET msn=txt
    WHERE idEmpleado=codEmpleado;
    RETURN txt;
END$
DELIMITER ;

Necesito que en el atributo salario de la tabla empleado se tome como parámetro para actualizar el atributo msn de la tabla empleado.
¿Cómo puedo hacer?
Gracias.
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
sin imagen de perfil

Atributos de las tablas como parametro de funciones

Publicado por gabriel (5 intervenciones) el 27/11/2017 17:00:27
Hola,

Creo que lo que deberías hacer es solo pasar como parametro el id del empleado.

En la funcion
- hacer una consulta del salario del empleado.
- Guardarte el salario del empleado
- consultar si el salario es más bajo que 700000 y establecer un 'txt' segun el resultado.
- actualizar el el registro de empleado. update empleados set msn=txt where id="el que pasas como parametro"
- Y return del txt.

Hace poco que estoy en esto, pero creo que es lo correcto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Atributos de las tablas como parametro de funciones

Publicado por Leopoldo Taylhardat (187 intervenciones) el 21/12/2017 20:50:30
Saludos...

Update empleado set msn= mostrarMensaje1 (idEmpleado, salarioEmpleado);
commit;

Espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar