Czy istnieje prosty sposób sprawdzenia, czy klucz obcy istnieje dla kolumny w tabeli? Piszę skrypt, który doda klucz obcy tylko wtedy, gdy nie istnieje.Sposób sprawdzania, czy klucz obcy istnieje w SQL 2005
35
A
Odpowiedz
65
Można użyć tego skryptu:
IF EXISTS (SELECT *
FROM sys.foreign_keys
WHERE object_id = OBJECT_ID(N'[dbo].[FK_NAME]')
AND parent_object_id = OBJECT_ID(N'[dbo].[MyTable]'))
BEGIN
-- do stuff
END
Można to zrobić, jeśli rozwinąć tabelę i kliknij prawym przyciskiem na istniejącym FK i wybierz klucz skryptu jako „spaść”, a następnie pojawi się wygenerowany skrypt z SQL.
7
Woo-hoo! Właśnie spędziłem ostatnie dwa dni na robieniu tego.
IF NOT EXISTS (SELECT name
FROM sys.foreign_keys
WHERE name = 'FK_Name')
ALTER TABLE table_name ADD CONSTRAINT FK_Name FOREIGN KEY (idcol)
REFERENCES OtherTable(idcol)
Powiązane problemy
- 1. SQL Server 2005: zerowalny klucz obcy
- 2. klucz Composite jako klucz obcy (SQL)
- 3. Zmiana MySQL klucz podstawowy, gdy istnieje klucz obcy contraints
- 4. MySQL: Wstaw, jeśli istnieje klucz obcy
- 5. Jak zmienić klucz obcy?
- 6. Upuść klucz obcy tylko wtedy, gdy istnieje
- 7. Klucz obcy Sequelize.js
- 8. Czy klucz obcy może działać jako klucz podstawowy?
- 9. laravel :: Najlepszy sposób zaktualizować klucz obcy
- 10. Klucz obcy Django Model
- 11. Łączenie tabel, klucz obcy
- 12. Klucz obcy w szynach 4
- 13. jak sprawdzić, czy klucz rekordu jest używany w innych tabelach jako klucz obcy (sql)?
- 14. Klucz obcy SQLite
- 15. Wielokolumnowy klucz obcy w MySQL?
- 16. Modyfikuj klucz obcy w Ecto
- 17. Rails 4.2 klucz obcy
- 18. Klucz obcy SQLite?
- 19. Wyłączenie klucz obcy kontrole linii poleceń
- 20. Idiomatyczny sposób sprawdzania, czy klucz na mapie ma wartość
- 21. ScalaQuery wielokrotny klucz podstawowy i klucz obcy
- 22. Gdzie powinienem przechowywać klucz obcy?
- 23. Django: Sprawdź, czy atrybut klucz obcy jest ustawiona
- 24. Klucz obcy do klucza złożonego
- 25. Klucz obcy SQL, który jest częścią złożonego klucza podstawowego
- 26. Klucz obcy MySQL na tej samej tabeli
- 27. Jak znaleźć określony klucz obcy tabeli za pośrednictwem T-SQL?
- 28. Jak zdefiniować opcjonalny klucz obcy w Slick?
- 29. szyn: niezgodny klucz obcy constraintRails
- 30. knex migracja tworząc klucz obcy
Ten skrypt działał świetnie! Nie mogę uwierzyć, że możesz napisać coś takiego z menu. Dzięki za pomoc. –
Możesz prawie kliknąć prawym przyciskiem myszy wszystko w SQL i wygenerować skrypt dla ciebie, tabele, procedury składowane, klucz obcy i więcej. Studio zarządzania jest twoim przyjacielem, gdy nauczysz się kilku fajnych funkcji, które może zrobić. – CodeLikeBeaker
Ta metoda działa tylko wtedy, gdy używana jest domyślna nazwa klucza obcego. Nie można polegać na pracy nad nazwami opartymi na założeniach, zwłaszcza jeśli pracujesz nad bazami danych utworzonymi przez osoby, które mogą przestrzegać innej konwencji nazewnictwa. Czy są jakieś sposoby sprawdzenia, czy dana kolumna jest kluczem obcym do innej tabeli zamiast sprawdzania nazwy klucza obcego? –