DROP Constraint (dynamisch)

30/06/2008 - 11:56 von Thomas Winkler | Report spam
Hi,

bin gerade dabei, per DDL eine Fremdschlüsselbeziehung in mehreren
Datenbanken zu löschen ála

ALTER TABLE [TabX] DROP CONSTRAINT [C];

Nun ist aber der Name des Constraints nicht in jeder DB zwangslàufig
gleich. Sehr wohl aber Tabellen- und Feldbezeichnung. Daher wollte ich
die Constraint-Bezeichnung aus MSysRelationships wie folgt auslesen,

SELECT szRelationship
FROM MSysRelationships
WHERE (szObject = "TabX") AND
(szColumn = "ColX") AND
(szReferencedObject = "TabY") AND
(szReferencedColumn = "ColY")

was auch soweit funktioniert.

In Kombination

ALTER TABLE [TabX] DROP CONSTRAINT [
SELECT szRelationship
FROM MSysRelationships
WHERE (szObject = "TabX") AND
(szColumn = "ColX") AND
(szReferencedObject = "TabY") AND
(szReferencedColumn = "ColY")
]

funktioniert es aber *nicht*.

Es soll ausdrücklich eine Lösung ohne VBA sein - reines SQL.
Ist das unter den gegebenen Voraussetzungen überhaupt möglich?
Würde ein EVal was bringen?

Danke.

Thomas

"Access? Damit arbeite ich nicht. Das ist doch nur ein abgespecktes Excel."
 

Lesen sie die antworten

#1 Karl Donaubauer
30/06/2008 - 12:25 | Warnen spam
Thomas Winkler wrote:
...
ALTER TABLE [TabX] DROP CONSTRAINT [
SELECT szRelationship
FROM MSysRelationships
WHERE (szObject = "TabX") AND
(szColumn = "ColX") AND
(szReferencedObject = "TabY") AND
(szReferencedColumn = "ColY")
]

funktioniert es aber *nicht*.



Jetzt noch dazuschreiben, wie genau sich "funktioniert es aber *nicht*"
ausdrückt, und alle tun sich leichter. Passiert nix? Fehlermeldung?

Es soll ausdrücklich eine Lösung ohne VBA sein - reines SQL.
Ist das unter den gegebenen Voraussetzungen überhaupt möglich?
Würde ein EVal was bringen?



cu
Karl
********* Ich beantworte keine Access-Fragen per Email. *********
Access-FAQ: http://www.donkarl.com
Access-Entwickler-Konferenz (AEK11), Oktober 2008, Nürnberg

Ähnliche fragen