Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Создание тригера [D7]


Страницы:   1 2

Scorpio ©   (2006-07-24 13:34:00) 

Добрый день мастера. У меня возникла проблема с тригером.
Как создать тригер ьаким образом, чтобы он проверял сегоднешнюю дату, создавал к ней сиквенцию, + 5 цифр после, и если такая сиквенция уже существует, то к ней + 1.

Ипользую Оракл 10


Sergey13   (2006-07-24 14:24:00) [21]

2 [12] Scorpio ©   (24.07.06 14:11)
> скажем так, в номерах давольно много информации зашито,
Тогда это не номер, а составной код.

> и второе, разве нельзя использовать одно и тоже имя сиквенции,
> просто удаляя старое и создавая новое ??
Нафига? ИМХО, тебе надо кроме ИД-шника ввести поля сотавляюшие составной (сори за тавтологию) ключ - альтернативный. Отдельно год, номер в году, еще что-то что надо. Причем номер в году я бы сделал MAX-ом в тригере после вставки - иначе дыры в нумерации обеспечены. MAX тоже от них не спасает, но делает меньшими.


Reindeer Moss Eater   (2006-07-24 14:21:00) [22]

Ну если ты собрался создавать их пачками, то сколько их у тебя должно быть?

Можно сделать хотябы чтобы только год мне шлепала в сиквенс ??
А зачем шлепать в сикванс? Нельзя разве шлепать в значение, полученное из сикванса?


Scorpio   (2006-07-24 14:18:00) [23]

Про динамический SQL я толком ничего не знаю. Но про сиквенс не могу понять, у меня их что должно быть несколько ???
Можно сделать хотябы чтобы только год мне шлепала в сиквенс ??


Reindeer Moss Eater   (2006-07-24 14:14:00) [24]

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

Какое-то несоответствие налицо.


Scorpio   (2006-07-24 14:11:00) [25]

скажем так, в номерах давольно много информации зашито, и второе, разве нельзя использовать одно и тоже имя сиквенции, просто удаляя старое и создавая новое ??


Reindeer Moss Eater   (2006-07-24 14:08:00) [26]

а как мне получить номер, мне как мнимум в этом номере нужен год

<Цитата>

А вопрос о том, как получить имя сикванса, который нужно дергать, тебя конечно же не волнует? А так же вопрос о динамическом SQL ?


Sergey13   (2006-07-24 14:04:00) [27]

> [9] Scorpio ©   (24.07.06 14:01)
> а как мне получить номер, мне как мнимум в этом номере нужен
> год

В номерах нет никаких годов. И месяцев тоже нет.


Scorpio   (2006-07-24 14:01:00) [28]

а как мне получить номер, мне как мнимум в этом номере нужен год


Reindeer Moss Eater   (2006-07-24 13:57:00) [29]

Ну и зачем здесь вагон сиквансов ?


Scorpio   (2006-07-24 13:56:00) [30]

Например есть база лиц. Далее человек например едет ч/з границу, на КП он заполняет миграционный талон его вносят в БД. Он должен получить к этому талону номер, этот номер и должен быть уникальным.


Johnmen   (2006-07-24 13:47:00) [31]


>  Раньше он у меня создавался програмно,


> у меня одновременно с БД работает порядка 100 человек

>

И не разу не падало?! Вот же везение! :)


Sergey13   (2006-07-24 13:47:00) [32]

2 [3] Scorpio ©   (24.07.06 13:41)
> я с ораклом тока разбираюсь.
Это то понятно. 8-)

> У меня должно к базе создаться уникальный номер. Раньше
> он у меня создавался програмно, а теперь хочу исключить
> вероятность того, что два человека смогут получить одинаковый
> номер.

Какой номер? Уникальный в разрезе чего?

> у меня одновременно с БД работает порядка 100 человек
Ну и что?


Scorpio   (2006-07-24 13:42:00) [33]

у меня одновременно с БД работает порядка 100 человек


Scorpio   (2006-07-24 13:41:00) [34]

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


Petr V. Abramov   (2006-07-24 13:39:00) [35]

> Scorpio ©
 похоже, будет проще, если Вы опишете, что в конце концов хотите получить.


Sergey13   (2006-07-24 13:37:00) [36]

Какой тригер то?

>создавал к ней сиквенцию
Это DDL, который в тригерах не прокатит. Может тебе job запускать по расписанию?

ЗЫ% А нафига сиквенс на день?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо