![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 1 116 Pomógł: 119 Dołączył: 10.05.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Cześć,
chcę napisać jakąś procedurkę, która zmieni mi strukturę bazę danych w zależności od aktualnej struktury. Może wytłumaczę na przykładzie: 1. mam tabelę tabA, która ma kolumnę id_tabA 2. Jeśli kolumna ma wartość default nextval('sekwencjaA'::regclass) to nic nie zmieniamy 3. Jeśli kolumna ma wartość inną niż default nextval('sekwencjaA'::regclass) to: 3.1. tworzymy sekwencję 'sekwencjaA' (jeśli nie istnieje) 3.2. restartujemy ją z maksymalną wartością pola tabA.id_tabA (SELECT max(id_tabA) FROM tabA) 3.3. ustawiamy default na id_tabA na nextval('sekwencjaA'::regclass) 3.4. usuwamy sekwencję, która była wcześniej ustawiona jako deafult id_tabA jeśli jakaś była ustawiona nie mam pojęcia czy jest to możliwe (pewnie jest). Jak w SQL (ewentualnie C lub czymś innym co obsługuje PostgreSQL) można coś takiego wykonać? Niestety w PHP nie mogę tego zrobić. Pozdrawiam Cezar708 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 93 Pomógł: 0 Dołączył: 12.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Np pl/pgsql jeżeli chodzi o postgresa http://www.postgresql.org/docs/8.1/static/...ql-trigger.html
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 17:04 |