2012-03-28 27 views
1

Ich erstellte eine Tabelle und fügte dann eine Fremdschlüsselreferenz zu ihrem Primärschlüssel in einer anderen Tabelle hinzu. Ich muss die neue Tabelle löschen, um sie mit zusätzlichen Spalten neu zu erstellen (ich möchte die neuen Spalten nicht hinzufügen). Wenn ich versuche, es zu löschen, sagt es mir, dass ich eine referenzierte Tabelle nicht löschen kann. Also versuche ich, die Fremdschlüsselspalte aus der anderen Tabelle zu entfernen und es sagt mir, dass die Fremdschlüsselspalte nicht gelöscht werden kann. Das lässt mich zuerst den Fremdschlüssel selbst entfernen, aber ich kenne den Namen nicht. Da kam ich auf diesen Link:Teradata: Wie kann ich eine Fremdschlüsseleinschränkung aus einer Tabelle löschen?

http://forums.teradata.com/forum/database/how-to-drop-a-constraint-without-knowing-its-name

... aber es ist keine Hilfe. Ich kann den Namen dieses Fremdschlüssels nirgends finden. Gibt es Hilfe zum Löschen dieses Fremdschlüssels?

Antwort

1

Haben Sie die folgende Syntax versucht:

ALTER TABLE {MyDB}.{MyTable} DROP FOREIGN KEY ({ColumnList}) REFERENCES {MyDB}.{MyOtherTable}; 
+0

Dieser große gearbeitet. Ich weiß nicht, wie ich anderswo eine so einfache Lösung nicht finden konnte. Vielen Dank! – oscilatingcretin

+0

Laden Sie eine Kopie der Handbücher von http://www.info.teradata.com/edownload.cfm?itemid=102370003 (TD 13.10 User Documentation) herunter. Wenn Sie eine andere Version haben, gehen Sie zu http://www.info.teradata.com/Datawarehouse/eBrowseBy.cfm?page=TeradataDatabase und finden Sie die entsprechende Version. –

+0

Nur zur Erinnerung, die Fremdschlüsselreferenz wurde mit weicher referenzieller Integrität auf meiner Seite implementiert. Ich habe die obige Antwort erneut verwendet und sie wie folgt aktualisiert: 'ALTER TABLE {MyDB}. {MyTable} DROP FOREIGN KEY ({Spalte}) REFERENZEN OHNE CHECKOPTION {MyDB}. {MyOtherTable} ({Spalte});' –

Verwandte Themen