In Interbase farei (più o meno)
FOR select campo1, campo2
from TABELLA
where campo3 = 'valore'
into :varcampo1, :varcampo2
DO
BEGIN
/* qui posso usare le variabili
varcampo1 e varcampo2 riempite
ad ogni ciclo con le tuple della
query
*/
END
In SQLServer mi sembra che si debbano utilizzare i cursori, ma ho trovato
solamente esempi di come recuperare un solo campo dalla query master:
DECLARE c CURSOR
FOR select campo1 from TABELLA where campo3 = @@valore
BEGIN
OPEN c
FETCH c INTO @@campo1
WHILE (@@FETCH_STATUS=0)
BEGIN
...
END
FETCH c INTO @@campo1
END
A me servirebbe poter utilizzare due valori della tabella master (campi
cod. articolo e giacenza di una tabella di magazzino): chiedevo quindi se
qualcuno ha qualche dritta da darmi su come procedere (vanno bene anche dei
link, ma ho passato tutto il pomeriggio a setacciare la rete senza cavare
un ragno dal buco).
Grazie in anticipo.
Marco
info @ marcobortolani.it
[CUT]
>DECLARE c CURSOR
>FOR select campo1 from TABELLA where campo3 = @@valore
>BEGIN
> OPEN c
> FETCH c INTO @@campo1
> WHILE (@@FETCH_STATUS=0)
> BEGIN
> ...
> END
> FETCH c INTO @@campo1
>END
>
>A me servirebbe poter utilizzare due valori della tabella master (campi
>cod. articolo e giacenza di una tabella di magazzino): chiedevo quindi se
>qualcuno ha qualche dritta da darmi su come procedere (vanno bene anche dei
>link, ma ho passato tutto il pomeriggio a setacciare la rete senza cavare
>un ragno dal buco).
basta modificare la select :
declare MyCursor cursor for select campo1, campo2, campo3 from tabella
e poi
Fetch next from myCursor into @campo1, @campo2, @campo3
però il tuo loop mi sembra sbagliato
declare MyCur cursor for
select Campo from Tabella
Open MyCur
FETCH NEXT FROM MyCur INTO @a
While @@FETCH_STATUS = 0 begin
-- codice vario
FETCH NEXT FROM @MyCur INTO @a
end
Close MyCur
Deallocate MyCur
>
>Grazie in anticipo.
>
> Marco
> info @ marcobortolani.it
Ciao.
Masismo.
--
"La velocità luce non è sufficiente Comandante Nunziatella,
dobbiamo passare alla velocità smodata!"
>> FETCH c INTO @@campo1
Attenzione che le variabili sono @valore e non @@valore che invece
sono variabili di sistema.
> basta modificare la select :
> declare MyCursor cursor for select campo1, campo2, campo3 from tabella
> e poi
> Fetch next from myCursor into @campo1, @campo2, @campo3
Adesso provo...
> perņ il tuo loop mi sembra sbagliato
L'avevo scritto un po' alla bell'e meglio per far intendere il senso del
discorso, comunque grazie della dritta.
Marco
info @ marcobortolani.it
Dopo il grazie in anticipo, ti rifilo un supergrazie in posticipo!
Saluti
Marco