Non so se mi manca qualcosa, ma quello che sto facendo è:PL/SQL: errore di valore o numerico: carattere buffer di stringa troppo piccolo% ROWTYPE
Ho una funzione che restituisce un ROWTYPE
FUNCTION myFunc(pChar CHAR) RETURN myTable%ROWTYPE AS
myTable_rec myTable%ROWTYPE;
BEGIN
SELECT col1, col2, col3
INTO myTable_rec.col1
, myTable_rec.col2
, myTable_rec.col3
FROM myTable
WHERE col4 = pChar;
RETURN(myTable_rec);
END B001_03;
poi nella mia procedura (che chiama la funzione di cui sopra), ho dichiarato:
myTable_rec myTable%ROWTYPE;
ma quando chiamo nella procedura:
...
myTable_rec := myFunc(someChar);
...
ottengo
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
non sono i campi supposti di essere dalla stessa tabella e dello stesso tipo di dati (come la mia scarsa conoscenza)?
MODIFICA: Ho provato a selezionare * e ogni lavoro. Mi manca sicuramente qualcosa qui. Semplicemente non lo so.
perché non usi Varchar2 invece di Char? –
wow che ha davvero risolto il problema. Metti una risposta e la segnerò come risposta migliore, signore. Ciò che mi dà davvero fastidio è che "someChar" viene interrogato dalla stessa colonna E della tabella, quindi mi aspettavo che avesse lo stesso tipo di dati e la stessa lunghezza di col4. – Incognito