INSERT INTO SELECT— Tijdelijke tabel vullen

We hebben het eerder gehad over de tijdelijke tafel. Als je het niet hebt gezien, lees het dan hier.

Welnu, aangezien de tijdelijke tabel in de database staat, hoe kan ik er dan records in maken door te kopiëren vanuit een andere tabel? Moet ik een tijdje wachten?

Het is geen standaardantwoord, maar nee … Je hebt geen tijd nodig voor of een lus in de ADVPL-laag. Onthoud dat de tabel zich in de database bevindt, u kunt de bronnen ervan gebruiken!

Scenario

Ik moet een tijdelijke tabel maken met gegevens uit de Protheus natuurtabel.

Hoe het te doen?

Ik ga de tijdelijke tabel maken, een DBGoTop maken op de SED en die mooie terwijl EOF maken … Nee, doe dat niet!

De SED staat in de database, net als de tijdelijke tabel. Ik kan een INSERT IN TABLE_TEMPORARY (CAMPOS) SELECT CAMPOS FROM SED.

Dit is natuurlijk erg algemeen. Maar ja, ik kan de volledige gegevenskopie maken door de database zelf, kun je je de prestaties daarvan voorstellen? IO-reductie alleen is het waard! = D

Voorbeeld (Code, Uhuu!):

Zie hieronder een voorbeeld hoe u dit kunt doen:

Zie? Eenvoudig, snel en pijnloos… =)