Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 06.10.2013
Сообщений: 61
Другое

Триггер IntB + Delphi

15.11.2014, 02:57. Показов 1170. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть триггер
SQL
1
2
3
4
5
6
7
CREATE TRIGGER "INS_V" FOR "VRA4I" 
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
  IF (NEW.KOD_VRA4A IS NULL) THEN
    NEW.KOD_VRA4A = GEN_ID(Gen_v, 1);
END
реализующий автоматический счетчик ключевого поля, вроде всё хорошо, но значение счетчика накапливалось и сохранялось, увеличиваясь на 1 с каждой новой записью. И после удаления записи в бд делфи счетчик продолжил "накапливается", можно ли его заставить считать не как ему вздумается, а от последнего значения в таблице?
Например:
было:
1
2
3
4
5
удалили 2 и 3 стало:
1
4
5
дальше создаётся поле 6, как сделать чтобы начало создавать сначала 2,3 и только потом 6 ?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.11.2014, 02:57
Ответы с готовыми решениями:

Автозаполнение полей Delphi + IntB
Есть таблица с данным, есть кнопка изменить данные, (при нажатии на кнопку открывается новая форма с edit, combobox и тд), на форме в поле...

Триггер для добавления к строке название таблицы, в которой содержится триггер
Есть таблицы База_Практик. В неё добавляю предприятие, и автоматически нужно добавить это предприятие с именем таблицы База практик в...

Триггер для добавления к строке название таблицы, в которой содержится триггер
Есть таблицы База_Практик. В неё добавляю предприятие, и автоматически нужно добавить это предприятие с именем таблицы База практик в...

7
1263 / 706 / 62
Регистрация: 21.12.2009
Сообщений: 2,256
15.11.2014, 06:25
Цитата Сообщение от Sklif Посмотреть сообщение
можно ли его заставить считать не как ему вздумается
Никак! Генератор по своей природе и назначению работает именно так и иначе работать не может и не должен.
Рекомендовал бы при именовании объектов БД отказаться от двойных кавычек (например, "VRA4I"). Это путь к геморрою!
0
0 / 0 / 0
Регистрация: 06.10.2013
Сообщений: 61
15.11.2014, 12:35  [ТС]
Цитата Сообщение от SAMZ Посмотреть сообщение
Никак! Генератор по своей природе и назначению работает именно так и иначе работать не может и не должен.
ясно... а можно каким-либо другим образом сделать как в примере? не красиво получается если после там 5 номера идёт 37...
Цитата Сообщение от SAMZ Посмотреть сообщение
Рекомендовал бы при именовании объектов БД отказаться от двойных кавычек (например, "VRA4I"). Это путь к геморрою!
при создании я поля в кавычки не беру, просто копировал из metadata там она сами ставятся...
0
1263 / 706 / 62
Регистрация: 21.12.2009
Сообщений: 2,256
15.11.2014, 17:46
не красиво получается если после там 5 номера идёт 37
Если это обычный суррогатный первичный ключ, то ему все равно. Если это реальный номер документа, то поищи в гугле по сочетанию слов "бездырочная нумерация"
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
17.11.2014, 09:54
Лучший ответ Сообщение было отмечено Sklif как решение

Решение

Цитата Сообщение от Sklif Посмотреть сообщение
не красиво получается если после там 5 номера идёт 37...
Мне всегда в таком случае хочется задать вопрос.
Допустим нет у нас компа, есть бумажный документооборот. Есть документы с номерами от 1 до 100. Допустим, мы удаляем документы из середины. Будем ли мы при этом перенумеровывать оставшиеся документы? А если их не 100, а 1000? Особенно, если на них уже есть ссылки в других документах? А уж если удалением и перенумерацией занимается не один человек, а несколько одновременно, так это вообще туши свет
0
1263 / 706 / 62
Регистрация: 21.12.2009
Сообщений: 2,256
17.11.2014, 14:12
Цитата Сообщение от Grossmeister Посмотреть сообщение
Допустим, мы удаляем документы из середины. Будем ли мы при этом перенумеровывать оставшиеся документы?
Ну берем ластик, маркеры и прочую ерунду и вперед.
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
17.11.2014, 14:42
Цитата Сообщение от SAMZ Посмотреть сообщение
Ну берем ластик, маркеры и прочую ерунду и вперед
А если на документ, скажем, с номером 100 есть ссылка в другом документе? А этот другой уже ушел в другое место (внешний документ)? Этак надо иметь целую армию "подтирателей"
0
1263 / 706 / 62
Регистрация: 21.12.2009
Сообщений: 2,256
17.11.2014, 14:57
Цитата Сообщение от Grossmeister Посмотреть сообщение
Этак надо иметь целую армию "подтирателей"
Зато безработицы не будет!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.11.2014, 14:57
Помогаю со студенческими работами здесь

Триггер, вызывающий процедуру, в которой выполняется select к этой таблице (откуда был вызван триггер)
есть тригерр create or replace trigger quickstart.quickstart.ACRIONS_COMMIT_TR after update on quickstart.actions for each...

Разработать триггер, запускаемый при занесении новой строки в таблицу. Триггер должен увеличивать счетчик ч
Разработать триггер, запускаемый при занесении новой строки в таблицу. Триггер должен увеличивать счетчик числа добавленных строк.

Т-Триггер на ИЛИ-НЕ элементах и что это за триггер?
Здравствуйте. Нужно построить схему Т-Триггера через ИЛИ-НЕ элементы. Вот сам триггер ...

Взаимодействие коллайдеров (триггер и не триггер)
подскажите почему не срабатывает коллайдер с тригером на коллайдере без тригера? и как выйти из этой ситуации private void...

Что лучше брать Delphi XE2, Delphi XE, Delphi 7?
Привет форумчане! У меня вопрос: что лучше брать Delphi XE2, Delphi XE, Delphi 7? Как вообще различаются серия Delphi XE, и Delphi 7?


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка 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. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru