Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Store procedure sqlServer 2005(ciclo while con select e update)
lunedì 12 gennaio 2009 - 17.46
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
valerik
Profilo
| Junior Member
153
messaggi | Data Invio:
lun 12 gen 2009 - 17:46
Ciao a tutti,
dovrei, in una stored procedure, prima fare una select per prendere i dati che mi servono, e per ogni record ritornato, dovrei fare un update.Come potrei fare.
Io avevo cominciato a fare una cosa del genere(naturalmente sbagliata):
ALTER PROCEDURE [dbo].[sqlSpunt]
@giorno nvarchar(20) = 0,
@titolare nvarchar(50) = 0,
@num_aut nvarchar(200) = 0,
@com_rilascio nvarchar(200) = 0
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @loopCount int;
SET @loopCount=1;
WHILE(@loopCount<=100)
BEGIN
SELECT @giorno = giorno, @titolare = titolare, @num_aut = num_autorizzazione, com_rilascio from eM_spuntisti where nuovo = 0 AND rifiuto = 0 AND assegnato = 1
UPDATE eM_graduatorie SET presenze = presenze + 1 WHERE giorno =@giorno AND titolare=@titolare AND num_autorizzazione =@num_aut AND com_rilascio=@com_rilascio
END
SET @loopCount=@loopCount+1
END
Dovrei scorrere i valori della select e per ogni valore fare UPDATE.
Potete aiutarmi.
Grazie
valerik
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
lun 12 gen 2009 - 18:19
>Ciao a tutti,
Ciao!
>dovrei, in una stored procedure, prima fare una select per prendere
>i dati che mi servono, e per ogni record ritornato, dovrei fare
>un update.
Quello che ti consiglio è di abbandonare questo tipo di approccio. Non userei SQL Server in questo modo (come un application server) e quindi preferirei abbandonare la soluzione del ciclo nella stored procedure.
Non capisco però dal tuo esempio cosa vuoi ottenere. A me sembra che quel ciclo non faccia altro che fare tante inutili update per poi arrivare ad un solo record finale aggiornato più volte in cui avrai il campo presenze = <presenze iniziali> + 100..
Prova a spiegare meglio quello che vuoi ottenere..
>Grazie
di nulla!
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !