Access 97 - MehrfachPRIMARYKEY per SQL anlegen

Hallo ExZessler,

ich muss oft in einer importierten Tabelle einen Primary Key anlegen. Das funktioniert auch mittels SQL:
CREATE UNIQUE INDEX [Nummer] ON Tabelle([Nummer]) WITH PRIMARY;

Wie kriege ich es aber hin, in einer Tabelle mit SQL einen MEHRFACH-Primary Key anzulegen?
z.B hat die Tabelle drei Felder(Nachname, PLZ, Ort), die nur in eindeutiger Kombination vorkommen dürfen. In der Entwurfsansicht der Tabelle kann ich die drei Schlüssel ganz einfach vergeben, ich möchte das aber per SQL lösen.

gruss Ein verzweifelter MdB´ler

Andreas

Wie kriege ich es aber hin, in einer Tabelle mit SQL einen
MEHRFACH-Primary Key anzulegen?
z.B hat die Tabelle drei Felder(Nachname, PLZ, Ort), die nur
in eindeutiger Kombination vorkommen dürfen. In der
Entwurfsansicht der Tabelle kann ich die drei Schlüssel ganz
einfach vergeben, ich möchte das aber per SQL lösen.

Das müßte eigentlich mit der Stringkombination der drei Felder gehen : TRIM(nachname)+STR$(plz)+TRIM(ort) oder so …

ABER : Du begehst imho einen Fehler! Was passiert denn, wenn zwei Müllers in 04711 Knapp a.d. Pleite wohnen???
Außerdem solltest Du einen Primary Key nicht mit Daten belegen. Der Primary Key sollte ein unabhängiges Feld sein; AutoWert ist empfehlenswert. Ansonsten kriegst Du Probleme, wenn sich mal irgendwo ein Datenformat ändert (im Moment nicht wahrscheinlich, aber bei der Umstellung auf fünfstellige PLZ ist schon mancher den Heldentod gestorben).
UNIQUE Indizes kannst Du ja unabhängig vom Primary Key vergeben …
Gruß kw

Wie kriege ich es aber hin, in einer Tabelle mit SQL einen
MEHRFACH-Primary Key anzulegen?::

Das müßte eigentlich mit der Stringkombination der drei Felder
gehen : TRIM(nachname)+STR$(plz)+TRIM(ort) oder so …

ABER : Du begehst imho einen Fehler! Was passiert denn, wenn
zwei Müllers in 04711 Knapp a.d. Pleite wohnen???
Außerdem solltest Du einen Primary Key nicht mit Daten
belegen. Der Primary Key sollte ein unabhängiges Feld sein;
AutoWert ist empfehlenswert. Ansonsten kriegst Du Probleme,
wenn sich mal irgendwo ein Datenformat ändert (im Moment nicht
wahrscheinlich, aber bei der Umstellung auf fünfstellige PLZ
ist schon mancher den Heldentod gestorben).
UNIQUE Indizes kannst Du ja unabhängig vom Primary Key
vergeben …
Gruß kw

Hallo KW,

danke für Deinen Tip - ich hab´s aber schon hingekriegt:

CREATE INDEX [INDEXNAME] ON TABELLENNAMEN ([ADNR], [PLZ], [ORT]) WITH PRIMARY;
(Das UNIQUE zusammen WITH PRIMARY wollte AXS bei einem 3-Felder-Index nicht akzeptieren! - Bei einem Einfachindex macht´s nix, wenn UNIQUE noch drinsteht)

Das Beispiel mit dem Nachnamen war wirklich blöd, das geb ich zu …

Trotzdem danke für Deine Antwort

gruss Andreas