Stored Procedures nested

di il
2 risposte

Stored Procedures nested

Ciao a tutti.
Premetto che ho fatto una ricerca qui nel sito e non ho trovato un post che rispondesse al mio dubbio, cosa che mi sorprende perché mi sembra impossibile non si possa fare quello che sto per chiedere.

Vado subito al punto. Come posso richiamare una SP da un'altra SP? Lo so, messo così sembra stupidissimo. Funziona tutto usando un comando tipo:
DECLARE @temp_fx as TABLE (indice nvarchar(100),data date, rate float)
INSERT INTO @temp_fx EXECUTE SPfxrate_valuedate @value_date
Quindi con DECLARE creo una tabella temporanea nella quale vado ad inserire i valori che otteengo dall'EXECUTE della prima SP.

Solo che mi trovo certe volte il seguente messaggio di errore:

(Righe interessate: 1)
Messaggio 8164, livello 16, stato 1, procedura SPNotsettled_equity, riga 9
Le istruzioni INSERT EXEC non possono essere nidificate.
Non ho capito se dipenda dal fatto che la prima SP è ottenuta direttamente da un'altra SP oppure dal fatto che la SP di destinazione è calcolata richiamando più SP (che a loro volta sono calcolate da altre).

Cercando su Google sembra un problema di SQL SERVER che, francamente, non ho capito come risolvere.
Qualcuno sa come aiutarmi?

2 Risposte

  • Re: Stored Procedures nested

    Aggiungo che se una SP chiama un'altra non ci sono problemi. Se quest'altra però è calcolata partendo da una terza mi manifesta quell'errore...
  • Re: Stored Procedures nested

    Ciao,
    la tua sp deve restituire un valore tabellare, per cui se prima richiama altre sp, o semplicemente se stessa esegue un output che non c entra nulla con l inserimento, a quel punto ti darà errore...
    cmq ti sconsiglio di lavorare con l insert da sp a tabella, ti conviene inserire l inserimento all interno della sp o magari usare una funzione con ritorno di tabella
Devi accedere o registrarti per scrivere nel forum
2 risposte