Преобразовать запрос select в курсор - PullRequest
0 голосов
/ 16 января 2019

Мне нужно преобразовать запрос SQL Server в курсор.

Я пробовал на примере вопроса Выбрать оператор в курсоре , но у меня была ошибка.

Вот мой запрос:

SELECT DISTINCT
    U.IDSocio, U.IDUtente,
    U.Cognome, U.Nome, U.Sesso,
    U.Luogo_Nascita,
    U.Provincia_Nascita,
    U.Stato_Nascita,
    COALESCE(C.codice, SS.codice) as Nascita_CodCatastale,
    CONVERT(DATE, U.Data_Nascita) AS Data_Nascita_Orig,
    REPLACE(CONVERT(VARCHAR, U.Data_Nascita, 111), '/', '-') as Data_Nascita,
    U.Indirizzo_Via as Residenza_Indirizzo,
    U.Indirizzo_NumeroCivico as Residenza_NumeroCivico,
    U.Indirizzo_Cap as Residenza_Cap,
    U.Indirizzo_Citta as Residenza_Citta,
    U.Indirizzo_Pv as Residenza_Provincia,
    U.CodCatastaleResidenza as Residenza_CodCatastale,
    U.Indirizzo_Stato as Residenza_Stato,
    U.PIVA,
    U.CodiceFiscale,
    U.Documento,
    U.Telefono_1,
    U.Telefono_2,
    U.SMS,
    U.Email,
    U.Note,
    UG.Descrizione as Categoria,
    U.AutorizzaSMS,
    U.AutorizzaEmail,
    U.AutorizzaCartaceo,
    U.CFRicevuta,
    U.CFRicevutaUtente
FROM [dbo].[Utenti] U
LEFT JOIN dbo.UtenteCustom UC on UC.IDUtente = U.IDUtente
LEFT JOIN dbo.UtentiCategorie UG on UG.IDCategoria = UC.IDCategoriaUtente
LEFT JOIN dbo.Comuni C on C.Comune = U.Luogo_Nascita and C.PV = U.Provincia_Nascita
LEFT JOIN dbo.Comuni SS on SS.Comune = U.Stato_Nascita
INNER JOIN dbo.AbbonamentiIscrizione AI ON U.IDUtente = AI.IDUtente
INNER JOIN dbo.AbbonamentiDurata AD ON AI.IDDurata = AD.IDDurata
INNER JOIN dbo.Abbonamenti A ON A.IDAbbonamento = AD.IDAbbonamento
INNER JOIN dbo.AziendeAbbonamenti AA On AA.IDAbbonamentoCategoria = A.IDCategoria
INNER JOIN dbo.TesseramentiAbbonamentiDurata TAD On TAD.IDDurata = AD.IDDurata
WHERE
    COALESCE(AA.IDRicevutaAzienda, 2) = 2
    AND (U.Cognome <> '' AND U.Nome <> '')
    AND CONVERT(DATE, DataInizio) <= CONVERT(DATE, GETDATE())
    AND CONVERT(DATE, DataFine) >= CONVERT(DATE, GETDATE())
    ORDER BY U.IDUtente

Не могли бы вы помочь мне преобразовать его в курсор? Мне нужно использовать курсор, потому что запрос содержит много строк, и код, который его использует, слишком медленный для выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...