SQL
CREATE OR REPLACE FUNCTION "DESC_PARTIDA_S" (partida in NUMBER)
RETURN NVARCHAR2
AS
  descripcio NVARCHAR2(100);
BEGIN
/* Donat un numero de partida, tornar la descripció posant l'article escurçat*/
  SELECT TRESC("c_artic".AR_DESCE) 
    || nvl2("c_color".CO_DESCE, ' ' || "c_color".CO_DESCE, '') 
    || nvl2("c_acaba".AC_DESCE, ' ' || "c_acaba".AC_DESCE, '') 
    || nvl2("c_gruix".GR_DESCE, ' ' || "c_gruix".GR_DESCE, '') 
    || nvl2("c_clasif".CL_DESCE, ' ' || "c_clasif".CL_DESCE, '') 
  as dades into descripcio
  FROM "c_partid"
  LEFT JOIN "c_artic" on "c_artic".AR_ARTIC="c_partid".PA_ARTI_D
  LEFT JOIN "c_gruix" on "c_gruix".GR_CODI="c_partid".PA_GRUIX_D
  LEFT JOIN "c_acaba" on "c_acaba".AC_CODI="c_partid".PA_ACABA_D
  LEFT JOIN "c_color" on "c_color".CO_CODI="c_partid".PA_COLOR_D
  LEFT JOIN "c_clasif" on "c_clasif".CL_CLAS="c_partid".PA_CLASE_D
  WHERE PA_NUMER=partida;
  RETURN descripcio;
RETURN NULL;
END;