Alter Table

Status
Niet open voor verdere reacties.

flbos

Gebruiker
Lid geworden
5 feb 2004
Berichten
267
Is er iemand bekend met de functie ALTER TABLE? Ik wil deze functie gebruiken om kolomnamen te wijzigen. Ik heb een tabel met 36 kolommen (afgezien van de sleutel). Periodiek komt in de laatste kolom een nieuw gegeven te staan. De huidige waarde van kolom 36 gaat naar kolom 35, de waarde uit kolom 35 naar kolom 34 enz. enz.

De waarde uit kolom 1 wordt weggegooid. Ik wil ALTER TABLE gebruiken om dit te doen. Ik wil kolom 36 wijzigen in kolom 35 (dus een naamverandering). Kolom 35 in 34 enz.

In een theorieboek heb ik staan dat dit met RENAME kan (binnen een ALTER TABLE statement), maar dit werkt niet (excel 2000). Graag zou ik weten hoe dit wel kan.

Momenteel gebruik ik bijwerkquery's, het nadeel hiervan is dat ik voor elke kolom die ik bij wil werken een aparte query nodig heb, bovendien drukt het op de performance. Het gaat namelijk om een zeer grote tabel.
 
Kolommen kunnen niet worden hernoemd met het ALTER TABLE statement.

***
Syntaxis
ALTER TABLE tabel {ADD {COLUMN veldtype[(grootte)] [NOT NULL] [CONSTRAINT index] |
ALTER COLUMN veldtype[(grootte)] |
CONSTRAINT meervoudigeindex} |
DROP {COLUMN veld I CONSTRAINT indexnaam} }

De instructie ALTER TABLE heeft de volgende argumenten:

Argument Beschrijving
tabel De naam van de tabel die moet worden gewijzigd.
veld De naam van het veld dat moet worden toegevoegd aan of moet worden verwijderd uit de tabel. Dit kan ook de naam van het veld zijn dat moet worden gewijzigd in de tabel.
type Het gegevenstype van het veld.
grootte De veldgrootte in tekens (alleen velden van het type Tekst en Binair).
index De index voor het veld.
meervoudigeindex De definitie van een index voor meerdere velden die aan een tabel moet worden toegevoegd.
indexnaam De naam van de index voor meerdere velden die moet worden verwijderd.
***
Referentie: http://office.microsoft.com

Ik denk dat hierbij het werken met een tijdelijke tabel een betere oplossing is. Als je een tijdelijke tabel maakt waarbij je met 1 query alles kunt "verplaatsen" en daarna met een tweede query de gegevens naar de oorspronkelijke tabel verplaatst win je denk ik ook wel performance.


Suc6,
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan