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;