In pseudo codice, ho una sql del tipo:

UPDATE TABELLA SET CAMPO = FUNZIONE(X1, X2, X3, ..., Xn) WHERE ID = 1;

Utilizzando i soliti mezzi forniti da ADO.NET non si hanno problemi ad eseguire questa istruzione.

Il problema nasce quando i parametri dentro FUNZIONE, superano un certo numero.

Allora, oracle dà errore (più o meno, troppi parametri in FUNZIONE)

Ho visto in rete una soluzione che consiste nel riempire una tabella ausiliaria con i valori x1, xn, per poi usare PL/SQL per riempire un vettore da questa tabella ed eseguire quindi l'update.

Questo in effetti funziona, ma è abbastanza (molto) lento.

La domanda è: esiste un qualche modo per eseguire questo update senza far ricorso ad una tabella ausiliaria?

ciao