Форум программистов, компьютерный форум, киберфорум
Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
85 / 33 / 12
Регистрация: 12.03.2011
Сообщений: 234
Записей в блоге: 2

Sequences

07.01.2014, 03:00. Показов 701. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток

Есть 2 таблицы singleTickets и multiTickets, скажем с такой структурой ( ID int PRIMARY KEY NOT NULL, visitor_ID int UNIQUE NOT NULL ).

Задача состоит в том что бы их связать по ID ( у каждого билета должен быть абсолютно уникальный ID ( совпадения недопустимы ) ), мне сказали что Sequences мне поможет.

Спросив гугл, ответ желаемый я так и не получил.
Меня интересует можно ли это сделать, если да желательно показать запрос или ссылку на статью где описано как его создать.

Заранее благодарен
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.01.2014, 03:00
Ответы с готовыми решениями:

Sequences start with сбивается при каждом обращении
Доброго времени суток. Не могу разобраться с проблемой: Есть табулька: CREATE TABLE CASES ( ID NUMBER NOT NULL ENABLE, ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
8 / 8 / 0
Регистрация: 20.04.2013
Сообщений: 39
07.01.2014, 14:40
судя по постановке задачи, у вас есть некоторая проблема с проектированием.
что-то мне подсказывает, что single_ticket и multiple_ticket должны быть смоделированы не так.
тем не менее, вот - решение с использованием SEQUENCE:
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
CREATE TABLE visitor(
      id SERIAL PRIMARY KEY
    , some_unique_textual_property VARCHAR (42) UNIQUE
);
 
-- single sequence will be used to autoincrement both single_ticket and multiple_ticket tables
CREATE SEQUENCE unique_id_seq;
 
CREATE TABLE single_ticket(
      id INT4 PRIMARY KEY DEFAULT NEXTVAL('unique_id_seq')
    , visitor_id INT4 REFERENCES visitor(id)
);
 
-- just to not to forget to drop it, when the time will come)
ALTER SEQUENCE unique_id_seq OWNED BY single_ticket.id;
 
CREATE TABLE multiple_ticket(
      id INT4 PRIMARY KEY DEFAULT NEXTVAL('unique_id_seq')
    , visitor_id INT4 REFERENCES visitor(id)
);
стоит, однако, помнить, что это решение работает только на INSERT.
оно не защитит от прямого UPDATE id. (хотя, в большинстве случаев это и не подадобится).

если, всё же возникнет потребность в изменении id, его придётся проверять в триггере,
или, что ещё лучше, в логике приложения.
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
08.01.2014, 11:45
Цитата Сообщение от Jazz411 Посмотреть сообщение
мне сказали что Sequences мне поможет.
Поскольку ты написал не в форум по конкретной СУБД(что было бы правильнее), а в форум по БД "вообще", неплохо бы огласить свою СУБД. Поскольку последовательности (sequences) существуют далеко не везде
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru