Czy program SQL Server 2008 ma typ danych, taki jak MySQL's enum
?Serwer SQL równoważny typowi danych wyliczeniowych MySQL?
Odpowiedz
Nie dotyczy. Jest niejasne równoważne:
mycol VARCHAR(10) NOT NULL CHECK (mycol IN('Useful', 'Useless', 'Unknown'))
CREATE FUNCTION ActionState_Preassigned()
RETURNS tinyint
AS
BEGIN
RETURN 0
END
GO
CREATE FUNCTION ActionState_Unassigned()
RETURNS tinyint
AS
BEGIN
RETURN 1
END
-- etc...
Gdzie sprawy skuteczności, nadal używać wartości twardych.
Najlepszym rozwiązaniem, które znalazłem w tym przypadku, jest utworzenie tabeli odnośników z możliwymi wartościami jako klucz podstawowy i utworzenie klucza obcego do tabeli odnośników.
Tabele wyszukiwania IMHO to sposób postępowania z integralnością referencyjną. Ale tylko, jeśli unikasz "Złych liczb magicznych", wykonując przykład taki jak ten: Generate enum from a database lookup table using T4
Baw się dobrze!
Znalazłem to interesujące podejście, gdy chciałem zaimplementować wyliczenia w SQL Server.
Podejście wymienione poniżej w linku jest dość fascynujące, biorąc pod uwagę wszystkie twoje bazy danych potrzeby enum mogą być spełnione z 2 centralne tabele.
Jest to odmiana wzorca zapobiegawczego określana jako "jedna prawda (odnośnik) ". Właściwym podejściem jest posiadanie oddzielnej tabeli dla każdego typu wyliczeniowego i użycie obcych kluczy (jeśli potrzebujesz w ogóle sprawdzenia, co może nie dotyczyć "czystych" wyrażeń). –
Komentarze na dołączonej stronie zapewniają dobrą kopię zapasową dla używania poszczególnych tabel dla każdego "wyliczenia", a nie to, co ta odpowiedź określa –
To całkiem zabawne, jak większość ludzi słusznie odepchnie ten projekt, ale autor nazywa jego artykuł "Najlepszą praktyką" . –
- 1. Serwer SQL do transferu danych MySQL
- 2. Jaki typ danych Java odpowiada typowi danych Oracle SQL NUMERIC?
- 3. Serwer SQL do PostgreSta
- 4. Serwer SQL: wydajność danych szeregów czasowych
- 5. Serwer SQL: kwerenda danych hierarchicznych i odniesienia
- 6. Serwer SQL: Importowanie bazy danych z .mdf?
- 7. Serwer SQL - kopiowanie danych z tabeli pomostowej
- 8. Serwer SQL: domyślna tabela konwersji typów danych
- 9. Serwer SQL: jak uniknąć duplikowania danych?
- 10. Jak zrobić SQL równoważny "DISTINCT" w CouchDB?
- 11. Podmiot Framework T-Sql "mając" Równoważny
- 12. Serwer MS SQL jest odpowiednikiem EXPLAIN PostgreSQL
- 13. Jak DWR przesyła dane przychodzące i wymyka się typowi danych
- 14. Serwer SQL - metadane tabeli
- 15. Operatory blokujące serwer sql
- 16. inny wynik w SQL skrzypce i serwer MySQL/phpMyAdmin
- 17. MySQL Workbench niekompatybilny/niestandardowy serwer
- 18. Dynamics AX 2012 SQL Wyodrębnianie podstawowych wartości wyliczeniowych
- 19. Serwer SQL: konwencje nazewnictwa schematu
- 20. SELECT COUNT (*) Serwer SQL
- 21. Serwer SQL: IsCharAlpha
- 22. Serwer Sql TOP - używany?
- 23. Serwer SQL ARITHABORT
- 24. Serwer Sql - rekursywne usuwanie
- 25. Serwer SQL: jakikolwiek odpowiednik strpos()?
- 26. Serwer Sql - Usuń końcowy ciąg znaków "\ 0" z danych
- 27. Serwer SQL nieza skonfigurowany do dostępu do danych
- 28. Serwer SQL podający login (użytkownicy) db_owner dostęp do bazy danych
- 29. Serwer Sql zmienia dane i ścieżkę dziennika istniejącej bazy danych
- 30. Serwer SQL: Zmień bieżącą bazę danych za pomocą zmiennej
jak to zrobić w SSMS? – EgoPingvina
@EgoPingvina: Powinieneś zapytać o to w pytaniu, a nie o komentarzu. – chaos