Sybase eindeutigen index und Primärschlüssel

Ist möglich, fügen Sie einen Primärschlüssel in einer Tabelle, die bereits einen eindeutigen nicht gruppierten index?

Ich habe eine Tabelle cargo_car und ich brauche, um zu definieren, cd_cargo_car als PK.

Habe ich versucht, dieses:

ALTER TABLE dbo.cargo_car ADD PRIMARY KEY (cd_cargo_car)

aber ich erhielt den Fehler:

Error (1921) An index with the same columns inthe same order alredy exists onthe table

Diese Tabelle hat viele Abhängigkeiten und wenn ich versuche, löschen Sie den index I erhalten:

Error (3712) Cannot drop index 'cargo_car.XPKcargo_car' because it still has referential integrity constraints.

Dies ist das Create-Skript:

CREATE TABLE dbo.cargo_car
    (
    cd_cargo_car      SMALLINT NOT NULL,
    nm_cargo_car      VARCHAR (40) NOT NULL,
    cd_refini_car     CHAR (4) NOT NULL,
    cd_reffin_car     CHAR (4) NOT NULL,
    cd_jornada1_car   CHAR (2) NOT NULL,
    cd_jornada2_car   CHAR (2) NOT NULL

    )
GO

CREATE UNIQUE NONCLUSTERED INDEX XPKcargo_car
    ON dbo.cargo_car  (cd_cargo_car)
GO

Vorschlag, wie dies zu tun?

Tks

Ich denke, du wirst fallen alle die foreign key Constraints auf die anderen Tische, drop, index, Primärschlüssel erstellt werden soll (ich vermute, Sie wollen, dass es gebündelt werden?), erstellen Sie dann die foreign key-Einschränkungen.
Deine Lösung ist perfekt, ich musste den index löschen und alle Referenzen, erstellen, die der PK-und re-kreieren meine Einschränkungen. Danke @Dems

InformationsquelleAutor leomeurer | 2012-10-22

Schreibe einen Kommentar