Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/03/2013, 04:31
rufus
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años, 3 meses
Puntos: 1
problema con parametro de una funcion

tengo que hacer el siguiente ejercicio =

6.- Crear un procedimiento llamado "sueldototal" que reciba el documento de un empleado y muestre su nombre, apellido y el sueldo total (resultado de la suma del sueldo y salario por hijo, que es de 200€ si el sueldo es menor a 1000€ y 100€, si el sueldo es mayor o igual a 1000€). Colocar como valor por defecto para el parámetro el patrón "%".

pero para = Colocar como valor por defecto para el parámetro el patrón "%".

para poner por defecto el patron "%" no se como hacerlo!!!

os dejo el codigo de como tengo la funcion ahora.

("la definicion del parametro me da error" empleado default "%")

Código postgresql:
Ver original
  1. CREATE OR REPLACE FUNCTION sueldototal(empleado default "%") RETURNS TEXT AS $$
  2.     DECLARE salida TEXT = '';
  3.         row_data empleado%ROWTYPE;
  4.         salario_hijo  INT = 200;
  5.         salario_hijo2  INT = 100;
  6.         cantidad_sueldototal int;
  7.     BEGIN
  8.         FOR row_data IN SELECT * FROM empleado WHERE documento = empleado LOOP
  9.             if(row_data.sueldo < 1000) THEN
  10.             cantidad_sueldototal = row_data.sueldo + (salario_hijo * row_data.cantidadhijos) ;
  11.             salida = row_data.nombre || ' ' || row_data.apellido || ' ' || cantidad_sueldototal ;
  12.             end if;
  13.             if (row_data.sueldo >= 1000) THEN
  14.             cantidad_sueldototal = row_data.sueldo + (salario_hijo2 * row_data.cantidadhijos);
  15.             salida =  row_data.nombre || ' ' || row_data.apellido || ' ' || cantidad_sueldototal ;
  16.             end if;
  17.         END LOOP;
  18.         RETURN salida;
  19.     END;
  20.  
  21. $$ LANGUAGE plpgsql;