Salve ragazzi,
avevo fatto una stored procedure in questo modo
che, come potete vedere, riceve 2 parametri, si salva in un terzo il risultato di una query che mostra la Sessione con Chiave più piccola (quindi quella più vecchia) e in base a questa chiave restituisce tutto il record relativo alla Sessione.codice:BEGIN DECLARE @Chiave AS INT SET @Chiave='' SELECT top 1 @Chiave = s.Chiave FROM Sessioni s WHERE Stato= 'NW' AND Centro=@Centro ORDER BY Chiave ASC UPDATE [dbo].[Sessioni] SET [Data_inizio]=getdate(), [Utente]=@Utente, Stato='OP' WHERE Chiave=@Chiave SELECT s.*, f.RagSoc, f.Telefono_chiamata, a.Website from Sessioni as s, Farmacie as f, Associazioni as a where s.Farmacia=f.Farmacia and f.Associazione= a.CodiceAssociazione and Chiave=@Chiave END
In pratica mi serve per assegnare al primo operatore libero la chiamata più vecchia registrata nel database.
Fino ad oggi era tutto ok. Ora però s'è aggiunta una novità: un utente avrà una lista di Associazioni abilitate e potrà prendere una Sessione solo se è abilitato .
La tabella abilitazioni ha i campi CENTRO, UTENTE, PROGRESSIVO, Associazione e un esempio può essere
TS, utente1, 1, FRE
TS, utente1, 2, EMR
TS, utente2, 1, FRE
....
Come posso cambiare la stored procedure per fare quello che mi serve?
Posso fare una select per trovare le abilitazioni dell'utente ma poi come faccio a fare il ciclo per tutti i risultati che ho ottenuto?

Rispondi quotando