ciao!
sto creando una funzione che ritorna il valore di un campo che è un CHAR(30):
codice:
CREATE OR REPLACE FUNCTION FN_B2B_TROVA_ARTICOLO_CODICE_DEL_FORNITORE (
DITTA_IN IN CHAR,
MODELLOIN IN CHAR
)
RETURN CHAR IS VAL CHAR(30);
BEGIN
SELECT
UNIQUE TRIM(MS.SINONIMO) INTO VAL
FROM MAT_SINONIMI MS
INNER JOIN MAT_ANAG MA ON MA.NPAM = MS.NPAM
WHERE MS.DITMAT = 'XXL'
AND MS.FVL = ' '
AND MS.DESCR96 = ' '
AND MS.TIPO = 'E'
AND MA.DITMAT = 'XXL'
AND MS.FVL = ' '
AND SUBSTR(MA.CODINT, 0, 8) = MODELLOIN;
RETURN(VAL);
EXCEPTION
WHEN NO_DATA_FOUND
THEN VAL := ' ';
RETURN(VAL);
END FN_B2B_TROVA_ARTICOLO_CODICE_DEL_FORNITORE;
ottengo questo errore:
codice:
Report error -
ORA-00972: identificativo troppo lungo
00972. 00000 - "identifier is too long"
*Cause: An identifier with more than 30 characters was specified.
*Action: Specify at most 30 characters.
sinceramente non capisco.
ho fatto funzioni che ritornavano anche un VARCHAR2(96).
e il campo è un CHAR(3).
quindi non riesco proprio a capire dove sia l'errore!!