Jeg har den opfattelse, at det kan være en fordel hvis man kunne undgå flere lokale variabel-ærklæringer, når man skulle fetche i et cursor-loop. I nogle SQL-sprog (bl.a. Oracle) har man variabler af type ROWTYPE, så man kun behøves en variable for en hel række, og i selve cursor-loopet så kan referere ned i den enkelte kolonne, lidt a'la dette:
DECLARE @MyRow ROWTYPE // jeg ved godt ROWTYPE findes ikke i MS SQL ;-) DECLARE MyCur CURSOR READ_ONLY FOR SELECT FirsName, LastName FROM PhoneBook
OPEN MyCur
FETCH NEXT FROM MyCur INTO @MyRow WHILE @@FETCH_STATUS = 0 BEGIN
PRINT @MyRow.FirstName FETCH NEXT FROM MyCur INTO @MyRow END
CLOSE MyCur DEALLOCATE MyCur
Dette er et MEGET simpelt pseudo-ekesempel, men selve cursor loopet skal både køre hurtigt og hyppigt, og der indgår betydeligt flere variabler, end Fornavn og Efternavn, og der sker en hel del mere i selve cursor-loopet.
Så kort fortalt: Kan man undgå at skulle erklære en variabel for hver kolonne man fetcher?
Der bliver investeret massivt i AI. Teknologien er mere tilgængelig end nogensinde, og ambitionerne er høje. Alligevel oplever mange virksomheder, at resultaterne udebliver.
KeyserSoze: integration services lyder meget spændende, men det bliver ikke i denne version jeg kommer til at bruge det. Arne_V: Jeg overvejer også kraftigt at flytte logikken ned på applikationen, specielt efter (skuffet) at have opserveret MS SQL cursor-performance i forhold til bl.a. Oracle
Logistikken blev lagt på klientniveauet og implementeret via en COM+ løsning. Er nu lidt skuffet over MS-SQL ydelse på en så elementær del i SQL-sproget, i forhold til Oracles hastighed.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.