Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Tabellen, Ansichten und Indizes » Primärschlüssel

 

Primärschlüssel verwalten (SQL)

Sie können Primärschlüssel in SQL verwalten, um die Abfrageperformance für die Tabelle zu verbessern.

Voraussetzungen

Sie müssen Eigentümer der Tabelle sein oder eines der folgenden Privilegien haben:

  • ALTER-Privileg für die Tabelle
  • ALTER ANY TABLE-Systemprivileg
  • ALTER ANY OBJECT-Systemprivileg

Spalten im Primärschlüssel dürfen nicht NULL enthalten.

 Aufgabe
  • Stellen Sie eine Verbindung mit der Datenbank her.

    Option Aktion
    Primärschlüssel erstellen Führen Sie die Anweisung ALTER TABLE table-name ADD PRIMARY KEY (column-name) aus.
    Primärschlüssel löschen Führen Sie die Anweisung ALTER TABLE table-name DROP PRIMARY KEY aus.
    Primärschlüssel ändern Löschen Sie den bestehenden Primärschlüssel, bevor Sie einen neuen Primärschlüssel für die Tabelle erstellen.

Ergebnisse

Ein Primärschlüssel wird hinzugefügt, gelöscht oder geändert.

Beispiel

Die folgende Anweisung erstellt eine Tabelle namens "Skills" und ordnet die SkillID-Spalte als Primärschlüssel zu:

CREATE TABLE Skills (
   SkillID INTEGER NOT NULL,
   SkillName CHAR( 20 ) NOT NULL,
   SkillType CHAR( 20 ) NOT NULL,
   PRIMARY KEY( SkillID )
);

Die Primärschlüsselwerte müssen für jede Zeile der Tabelle eindeutig sein. In diesem Fall bedeutet dies, dass es nicht mehr als eine Zeile mit einer bestimmten Skill-ID geben darf. Jede Zeile in einer Tabelle wird durch ihren Primärschlüssel eindeutig gekennzeichnet.

Zum Ändern des Primärschlüssels, damit die Spalten "SkillID" und "Skillname" gemeinsam für den Primärschlüssel verwendet werden, müssen Sie zuerst den Primärschlüssel löschen, den Sie erstellt haben, und dann den neuen Primärschlüssel hinzufügen:

ALTER TABLE Skills DELETE PRIMARY KEY;
ALTER TABLE Skills ADD PRIMARY KEY ( SkillID, SkillName );

 Siehe auch