Sys-Tabellen werden nach Primärschlüssel-Anderung nicht aktualisiert (MSSQL)
Ich ändere per SQL-Befehl den Primärschlüssel einer Tabelle (z. B. eine Spalte hinzufügen). Das
klapp auch wunderbar, im Management Studio wird der neue Primärschlüssen in der Tabellendefinition auch ganz wunderbar
angezeigt.
Wenn ich jetzt aber zur Überprüfung wieder die Systemtabellen abfrage, so wird immer noch der alte Schlüssel angezeigt.
Warum werden die Systemtabellen nicht mit aktualisiert.
Muss ich noch eine Art "Refresh" machen ?
Danke, Pseumin
klapp auch wunderbar, im Management Studio wird der neue Primärschlüssen in der Tabellendefinition auch ganz wunderbar
angezeigt.
ALTER TABLE tabelle DROP CONSTRAINT pkey_name
ALTER TABLE tabelle add CONSTRAINT pkey PRIMARY KEY (Spalte1, Spalte2, Spalte3)
select co.name, sc.name from sys.key_constraints co, sys.tables ta, sys.indexes ix, sys.index_columns ic, sys.syscolumns sc
where ta.object_id = co.Parent_object_id
and ix.object_id = co.Parent_object_id
and ic.object_id = co.Parent_object_id
and sc.id = co.Parent_object_id
and ix.is_primary_key = 1
and ix.index_id = ic.index_id
and sc.colid = ic.index_column_id
and ta.name = 'tabelle'
Warum werden die Systemtabellen nicht mit aktualisiert.
Muss ich noch eine Art "Refresh" machen ?
Danke, Pseumin
Please also mark the comments that contributed to the solution of the article
Content-Key: 93307
Url: https://administrator.de/contentid/93307
Printed on: April 24, 2024 at 10:04 o'clock
2 Comments
Latest comment
Moin moin
Auf SQL 2k5 Express Advanced kann ich sogar beide SQL Statements in einer Abfrage ausführen und bekomme den neuen Schlüssel angezeigt.
Gruß L.
Wenn ich jetzt aber zur Überprüfung wieder die Systemtabellen abfrage, so wird immer noch der alte Schlüssel angezeigt.
Das kann ich beim besten willen nicht reproduzieren.Auf SQL 2k5 Express Advanced kann ich sogar beide SQL Statements in einer Abfrage ausführen und bekomme den neuen Schlüssel angezeigt.
Gruß L.