|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Nov 2003
Città: Zena
Messaggi: 1883
|
help sql ... t-sql ...
devo modificare delle funzioni In SQL e mi sono imbattuto in una serie di comandi che sono riuscito a modificare e a far funzionare anche se non mi sono per niente chiari.... ora vi posto il codice....
declare c_sedi cursor for select sd_indirizzo, sd_cap, sd_citta, pr_codice, nz_descrizione from certificato_sede a left join sede b on a.sd_id = b.sd_id left join nazione c on b.nz_codice = c.nz_codice and c.nz_codice <> 'ITA' where ce_id = @ce_id and b.ts_codice not in ('LEGA', 'SEDE') open c_sedi fetch c_sedi into @sd_indirizzo, @sd_cap, @sd_citta, @pr_codice, @nz_descrizione if @@fetch_status = -2 begin close c_sedi deallocate c_sedi end while @@fetch_status = 0 begin if @sd_indirizzo is not null begin set @sedestring = @sedestring + char(13) + isnull(@sd_indirizzo,'') + ' - ' + isnull(@sd_cap,'') + ' ' + isnull(@sd_citta,'') + ' (' + isnull(@pr_codice,'') + ')' end fetch c_sedi into @sd_indirizzo, @sd_cap, @sd_citta, @pr_codice, @nz_descrizione end close c_sedi deallocate c_sedi return @sedestring spero si capisca ho semplicemente copiato il codice... io per ora ho visto solo l'sql e ho dei problemi a capire le righe dove ho messo la faccina.. grazie di tutto! p.s. scusate se è pieno di ovunque
__________________
Internet gratis in mobilità? perchè no? http://www.fon.com/ |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
|
il tuo problema è interpretare "c_sedi" che evidentemente per chi ha scritto il codice vuol significare:
Codice:
cursor_sedi Ma è notoriamente sconsigliato l'utilizzo di cursori al posto del metodo t -sql dato che i cursori sono "costosi" in termini di risorse perchè provocano overhead di cache. Per maggiori info: http://www.google.it/search?hl=it&ie...gle&lr=lang_it
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n; Utilizzando atomi trivalenti drogheremo il silicio di tipo p; Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Nov 2003
Città: Zena
Messaggi: 1883
|
Quote:
fai finta di parlare con uno che non ha mai visto il t-sql e prova a spiegargli cosa sia un cursore e @@fetch_status.... se ti viene più semplice fai analogie con vb ....thanks p.s. Il problema dell'overhead non mi si propone... 1 è un db per la gestione interna di una dittà che per quanto grossa che sia non farà mai un overhead di cache 2 io sono solo un povero tirocinante che deve fare un piccolo update sul db....
__________________
Internet gratis in mobilità? perchè no? http://www.fon.com/ |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
|
Dato che quello che chiedi è molto ampio, mi permetto di rimandarti alla lettura di questo link che ti spiega proprio tutto:
http://msdn.microsoft.com/library/de...obals_1c1f.asp
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n; Utilizzando atomi trivalenti drogheremo il silicio di tipo p; Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Nov 2003
Città: Zena
Messaggi: 1883
|
Quote:
Grazie! Non sapevo che l'msdn fosse anche onlyne! però ora ti devo chiedere comunque qualcosa per vedere se ho capito... il fetch status restituisce un integer che a seconda del suo valore indica lo stato di un cursore un cursore è come se fosse un vettore? mi per di aver capito che si può fare un cursore per più campi e per più record... come funziona? (molto semplicemente) ora ti chiedo anche qualche conferma sul funzionamento della mia funzione.... arrivo ad un punto in cui 'è: declare .... cursor for select in pratica fa la select e mette il risultato nel cursore? poi quando lo apre e fa into @.... mette tutti i valori nelle variabili fono a quando il fetch_status arriva a 0... funziona così? p.s. per favore non reinviarmi nelle msdn... se hai tempo o possibilità mi bastano anche solo un paio di commentini a fianco alle righe... grazie comunque per avermi risposto!
__________________
Internet gratis in mobilità? perchè no? http://www.fon.com/ |
|
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Nov 2003
Città: Zena
Messaggi: 1883
|
Quote:
non fateci caso... ho capito tutto!
__________________
Internet gratis in mobilità? perchè no? http://www.fon.com/ |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:19.











e prova a spiegargli cosa sia un cursore e @@fetch_status.... se ti viene più semplice fai analogie con vb ....








