Hoewel SQL is een zeer krachtige nonprocedural data - manipulatie taal , soms de behoefte komt om te werken met tabelgegevens rij - op - rij in de procedurele weg , alsof je het schrijven van een traditionele programma . De cursor is een manier voor u om T - SQL en SQL Server te gebruiken om procedurele toegang doen . Je schrijft dat de manier waarop je schrijft een ander T - SQL , maar het kan worden gedaan met behulp van Query Analyzer . U kunt vervolgens opslaan of kopieer en plak de SQL in uw eigen programma's . Wat je nodig hebt Microsoft SQL -server database Noordenwind SQL server vraaganalysator SQL enterprise manager Toon Meer Aanwijzingen 1 Begin uw Enterprise Manager -software . Maak verbinding met uw server met de database Noordenwind . Backup 2 de Noordenwind -database met de wizard Back-up onder het menu Extra . Start 3 de Query Analyzer programma . Maak verbinding met de database Noordenwind . Open een leeg venster vraag 4 Plak in de volgende voorbeeldcode : . USE Northwind /* Ten eerste , verklaren items in de cursor * /DECLARE @ cur_CustomerID nchar ( 5 ) , @ cur_ContactTitle nvarchar ( 30 ) /* Vervolgens verklaren de cursor zelf * /DECLARE changes_cursor cursorfor SELECT customerid , contacttitleFROM dbo.customersOPEN changes_cursor /* eerst halen begint het proces * /fETCH changes_cursor INTO @ cur_CustomerID , @ cur_ContactTitleWHILE @ @ FETCH_STATUS = 0 /* terwijl er nog records proces * /BEGINIF @ cur_ContactTitle = ' owner'BEGINUPDATE bestellingen SET [ vracht ] = 0WHERE KlantId = @ cur_CustomerIDEND /* houden ophalen totdat gedaan * /FETCH changes_cursor INTO @ cur_CustomerID , @ cur_ContactTitleENDCLOSE changes_cursorDEALLOCATE changes_cursor 5 inspecteren en wijzigen van de code aan uw eigen wensen . Het bovenstaande voorbeeld geeft gratis verzending voor alle bestellingen van klanten waar de eigenaar is de belangrijkste contactpersoon . Aangezien u een back- up van uw database Noordenwind , kunt u de code uit te voeren , dan is de gegevens te herstellen door het herstel van de database. Zie bronnen , en de Microsoft SQL Server Books Online voor meer informatie over cursors .
|