Призначення
Створює новий ідентифікатор для кожного рядка. Вибір способу залежить від того, чи потрібна випадкова унікальність, спільна послідовність між запусками або проста нумерація поточного набору.
Входи та виходи
Один in; out містить нову колонку field та всі початкові поля.
Параметри
| Параметр | Налаштування та значення | Варіанти й межі |
|---|---|---|
field | Назва нового поля, типово ID. | Типово: IDДо 256 символів |
mode | guid — UUID v4; snowflake — 64-бітний ідентифікатор як текст; sequence — послідовність. | Варіанти: guid, snowflake, sequenceТипово: guid |
start | Початкове число послідовності. | Типово: 1Межі: -9007199254740991…9007199254740991 |
step | Додатний крок від 1 до 1000000. | Типово: 1Межі: 1…1000000 |
worker_id | Ідентифікатор установки для Snowflake, від 0 до 1023. | Типово: 0Межі: 0…1023 |
scope | run починає послідовність заново; persistent продовжує між запусками. | Варіанти: run, persistentТипово: run |
sequence_key | Спільне унікальне ім’я постійної послідовності. | Типово: порожньоДо 128 символів |
Покрокове налаштування
- Задайте назву поля, якої ще немає у таблиці.
- Виберіть спосіб генерації.
- Для sequence задайте start, step та scope; для persistent — sequence_key.
- Для Snowflake узгодьте worker_id з іншими незалежними установками.
- Перевірте тип поля в отримувачі та допустимість пропусків у нумерації.
Правила та діагностика
- Наявне поле не перезаписується: ID_COLUMN_CONFLICT потребує іншої назви.
- Попередній перегляд генерує нові ID. Постійне резервування може залишити пропуски після перевірок, помилок і скасувань; номери не повертаються.
- Крок уже створеної постійної послідовності змінювати не можна — задайте інший sequence_key.
- Snowflake передається текстом для збереження точності та потребує різних worker_id у незалежних системах. Значне відставання годинника зупиняє генерацію.
- Послідовність поточного запуску не гарантує унікальність між різними запусками.
Приклад налаштування
Для рядків контрольного експорту використайте field=RowNo, mode=sequence, start=1, step=1, scope=run. Для постійного номера заявки задайте scope=persistent та sequence_key=Requests.