Teradata: как удалить ограничение внешнего ключа из таблицы?

Я создал таблицу, а затем добавил ссылку на внешний ключ к ее первичному ключу в другой таблице. Мне нужно удалить новую таблицу, чтобы воссоздать ее с дополнительными столбцами (я не хочу добавлять в нее новые столбцы). Когда я пытаюсь удалить его, он говорит мне, что я не могу удалить ссылочную таблицу. Поэтому я пытаюсь удалить столбец внешнего ключа из другой таблицы, и он говорит мне, что столбец внешнего ключа нельзя удалить. Это оставляет мне сначала удаление самого внешнего ключа, но я не знаю его имени. Я наткнулся на эту ссылку:

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

... но это не помощь. Кажется, я нигде не могу найти имя этого внешнего ключа. Любая помощь в том, как удалить этот внешний ключ?


person oscilatingcretin    schedule 28.03.2012    source источник


Ответы (1)


Вы пробовали следующий синтаксис:

ALTER TABLE {MyDB}.{MyTable} DROP FOREIGN KEY ({ColumnList}) REFERENCES {MyDB}.{MyOtherTable};
person Rob Paller    schedule 28.03.2012
comment
Это сработало отлично. Я не знаю, как я не мог найти такое простое решение в другом месте. Спасибо! - person oscilatingcretin; 30.03.2012
comment
Загрузите копию руководств с info.teradata.com/eddownload.cfm?itemid =102370003 (документация пользователя TD 13.10). Если вы используете другую версию, перейдите на info.teradata.com /Datawarehouse/ и найдите подходящую версию. - person Rob Paller; 30.03.2012
comment
Для справки, ссылка на внешний ключ была реализована с мягкой ссылочной целостностью на моей стороне. Я повторно использовал приведенный выше ответ и обновил его следующим образом: ALTER TABLE {MyDB}.{MyTable} DROP FOREIGN KEY ({Column}) REFERENCES WITH NO CHECK OPTION {MyDB}.{MyOtherTable}({Column}); - person Alexis.Rolland; 14.11.2017