Generowanie unikalnych kluczy

0

Szukam sposobu na generowanie unikalnych kluczy, który będzie działał w większości baz danych (PostgreSQL, MS SQL Server, Firebird, Oracle, MySQL). Jest w ogóle uniwersalny sposób? Czy muszę sam umieszczać te klucze, jeśli chcę, żeby działało w większości baz?

0

A dlaczego chcesz wywarzać otwarte drzwi?

0

Jeśli jest jakiś uniwersalny sposób to bym prosił o jego podanie :)

0

Primary/Unique Key + auto_increment ?

0

Ale czy to działa w każdej z podanych przeze mnie bazie?

0

Jeśli baza nie ma auto_increment (dostępnego na przykład w MySQL), to wartości wstawia się z sekwencji (typowe rozwiązanie w Oracle).

Idea mechanizmu zawsze jest taka sama (zmienna automatycznie zwiększana po pobraniu wartości), ale różne bazy implementują to różnie. Z resztą jaki jest sens szukania rozwiązania tego problemu, by działał na każdej bazie tak samo, skoro - z powodu o wiele większych różnic w innych mechanizmach baz danych (ot, choćby zarządzania datami czy typów zmiennych) - i tak istnieje potrzeba oddzielenia implementacji logiki biznesowej od dostępu do danych.

Było by łatwiej, jasne; ale nie jest.

0

Nie wiem jak jest w Oracle, ale reszte przegryzłem i tak.

0

Smutne, ale jakoś to zniosę. Piszę w Javie używając JDBC i przyzwyczaiłem się do multiplatformowości ;) Jednak skoro muszę się zdecydować na jedną bazę, to chyba wybiorę Firebirda.

1 użytkowników online, w tym zalogowanych: 0, gości: 1