SQL-owe funkcje dostępu do sekwencji "schema.sequence.CURRVAL" i "schema.sequence.NEXTVAL" są niedostępne poprzez ODBC. Czy aktualna wartość sekwencji jest gdzieś dostępna w tablicach systemowych, by można było ją czytać i modyfikować ? A może jest jakiś inny, dobry sposób nadawania kolejnych numerów rekordom tej samej tablicy za pomocą SQL i 4GL ?
Panie Andrzeju,
W 4GL można odczytać aktualną wartość sekwencji poprzez funkcję CURRENT-VALUE oraz następną wartość NEXT-VALUE. Ta ostatnia jest wykorzystywana w trygerach np. nowa_wartość = NEXT-VALUE(nazwa_serwencji).
Co się tyczy SQL to proszę przeczytać dokument:
knowledgebase.progress.com/.../P183766
Proszę dać znać czy to rozwiąże Pana problem.
Jak już pisałem, funkcje "sequence.CURRVAL" i "sequence.NEXTVAL" nie są dostępne przez ODBC i JDBC, a metoda wyszukiwania ostatnio użytej wartości ID może zawieść. Co gorsza, rekordy będą tworzone z użyciem 4GL oraz SQL-ODBC.
Systemowa tablica "_Sequence" nie zawiera ostatnio użytego numeru sekwencyjnego - prawdopodobnie jest gdzieś głęboko zaszyty.
Tak, zgadza się.