Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 Как в Oracle описать поле с автоинкрементом?  [new]
mod
Member

Откуда:
Сообщений: 2273
если создавать таблицу Clients состоящую скаем из трёх полей: id_client, client_name и address, то как её описать так чтобы id_client был с автоинкрементом на единицу?
18 июл 05, 10:03    [1712029]     Ответить | Цитировать Сообщить модератору
 Re: Как в Oracle описать поле с автоинкрементом?  [new]
Владимор Конев
Member

Откуда:
Сообщений: 3451
mod
если создавать таблицу Clients состоящую скаем из трёх полей: id_client, client_name и address, то как её описать так чтобы id_client был с автоинкрементом на единицу?
Используй триггер + последовательность.
18 июл 05, 10:19    [1712075]     Ответить | Цитировать Сообщить модератору
 Re: Как в Oracle описать поле с автоинкрементом?  [new]
Ikar05
Member

Откуда: Москва
Сообщений: 52
автоинкремента в oracle нет. то, что Вам надо реализуется через sequences
18 июл 05, 10:20    [1712081]     Ответить | Цитировать Сообщить модератору
 Re: Как в Oracle описать поле с автоинкрементом?  [new]
mod
Member

Откуда:
Сообщений: 2273
Какая жуть.... В Oracle суррогатные ключи не в моде? В Ms SQL всё проще...
18 июл 05, 10:22    [1712092]     Ответить | Цитировать Сообщить модератору
 Re: Как в Oracle описать поле с автоинкрементом?  [new]
artemisin
Member

Откуда:
Сообщений: 548
Владимор Конев
mod
если создавать таблицу Clients состоящую скаем из трёх полей: id_client, client_name и address, то как её описать так чтобы id_client был с автоинкрементом на единицу?
Используй триггер + последовательность.

Другой вариант, если у вас вставка из пакета, то при INSERTе берите значение из последовательности.
Итог: посмотрите раздел мануала по Sequencе`ам.
18 июл 05, 10:22    [1712093]     Ответить | Цитировать Сообщить модератору
 Re: Как в Oracle описать поле с автоинкрементом?  [new]
Ikar05
Member

Откуда: Москва
Сообщений: 52
Кстати насчет триггера
я бы посоветовал, если есть возможность, триггерами не пользоваться.
18 июл 05, 10:23    [1712094]     Ответить | Цитировать Сообщить модератору
 Re: Как в Oracle описать поле с автоинкрементом?  [new]
alex-ls
Member

Откуда: Иркутская обл - Пенза - Москва
Сообщений: 6914
Ikar05
Кстати насчет триггера
я бы посоветовал, если есть возможность, триггерами не пользоваться.

это почему же???
18 июл 05, 10:38    [1712142]     Ответить | Цитировать Сообщить модератору
 Re: Как в Oracle описать поле с автоинкрементом?  [new]
Владимор Конев
Member

Откуда:
Сообщений: 3451
2 mod
Если нужен пример реализации, а поиском воспользоваться религия не позволяет, то вот тут есть наиболее свежее обсуждение этого вопроса и пример реализации на триггере + последовательности
18 июл 05, 10:39    [1712143]     Ответить | Цитировать Сообщить модератору
 Re: Как в Oracle описать поле с автоинкрементом?  [new]
оззи
Guest
...а может всё же купим/одолжим у друзей книжицу какую-нить?.. или "все БД одинаковы - шас я потыкаюся и розберуся..."
18 июл 05, 10:44    [1712158]     Ответить | Цитировать Сообщить модератору
 Re: Как в Oracle описать поле с автоинкрементом?  [new]
mod
Member

Откуда:
Сообщений: 2273
Владимор Конев, спасибо через поиск уже нашёл...
Жуть!!!! моё отсутсвие любви к Oracle не поколебалось....
Вещь канечно мощная, но...
18 июл 05, 10:45    [1712164]     Ответить | Цитировать Сообщить модератору
 Re: Как в Oracle описать поле с автоинкрементом?  [new]
mod
Member

Откуда:
Сообщений: 2273
Ikar05 что по твоему не так с триггерами?
18 июл 05, 10:47    [1712168]     Ответить | Цитировать Сообщить модератору
 Re: Как в Oracle описать поле с автоинкрементом?  [new]
яри
Guest
mod
Вещь канечно мощная, но...

Почему же там всё не так, как в MSSQL!!! ))
18 июл 05, 10:49    [1712178]     Ответить | Цитировать Сообщить модератору
 Re: Как в Oracle описать поле с автоинкрементом?  [new]
mod
Member

Откуда:
Сообщений: 2273
яри, но не только в Ms SQL автоинкремент есть, он вообще во многих базах есть... Грустно что его в Oracle нету....
18 июл 05, 10:58    [1712218]     Ответить | Цитировать Сообщить модератору
 Re: Как в Oracle описать поле с автоинкрементом?  [new]
C-Strelok
Member

Откуда: Саянск (Иркутская область), ОАО "СаянскХимпласт"
Сообщений: 631
mod
Какая жуть.... В Oracle суррогатные ключи не в моде? В Ms SQL всё проще...

эээээээ не наезжай - оракл это крута очень крутааа.....
круче могут быть только горы..... у нас был тут один ярый мс-скулист - пришел на оракле поработал - потом плевался от мсскуля - скуль для средненьких баз подойдет а вот для корпоративных приложений фигня
18 июл 05, 10:58    [1712219]     Ответить | Цитировать Сообщить модератору
 Re: Как в Oracle описать поле с автоинкрементом?  [new]
Andrew1411
Member

Откуда: Москва
Сообщений: 401
В оракле только две класные вещи:
1. Полностью бесплатный для разработчика
2. Rownum

Уж простите поклонника MSSQL
18 июл 05, 11:01    [1712227]     Ответить | Цитировать Сообщить модератору
 Re: Как в Oracle описать поле с автоинкрементом?  [new]
mod
Member

Откуда:
Сообщений: 2273
C-Strelok
mod
Какая жуть.... В Oracle суррогатные ключи не в моде? В Ms SQL всё проще...

эээээээ не наезжай - оракл это крута очень крутааа.....
круче могут быть только горы..... у нас был тут один ярый мс-скулист - пришел на оракле поработал - потом плевался от мсскуля - скуль для средненьких баз подойдет а вот для корпоративных приложений фигня

Во первых, помимо Oracle есть ещё DB2... Это про крутизну...
Во вторых я не говорю про мощность MS SQL, а про его простоту в разроботке и уж тем более не про любовь к нему...
18 июл 05, 11:05    [1712253]     Ответить | Цитировать Сообщить модератору
 Re: Как в Oracle описать поле с автоинкрементом?  [new]
mod
Member

Откуда:
Сообщений: 2273
я так понял что SEQUENCE для каждой таблицы мне придётся делать отдельный....
18 июл 05, 11:11    [1712293]     Ответить | Цитировать Сообщить модератору
 Re: Как в Oracle описать поле с автоинкрементом?  [new]
Vadim_Maximov
Member

Откуда: Москва
Сообщений: 3571
Andrew1411
В оракле только две класные вещи:
1. Полностью бесплатный для разработчика
2. Rownum

Уж простите поклонника MSSQL

Читал, долго смеялся... Афтар жжот!
18 июл 05, 11:14    [1712314]     Ответить | Цитировать Сообщить модератору
 Re: Как в Oracle описать поле с автоинкрементом?  [new]
C-Strelok
Member

Откуда: Саянск (Иркутская область), ОАО "СаянскХимпласт"
Сообщений: 631
mod
я так понял что SEQUENCE для каждой таблицы мне придётся делать отдельный....


КАНЕЧНА !!!!
но можно конечно и не делать - можно хитро извернуться - можно создать табличку в которой хранить значения первичных ключей там буде два столбца :
первый наименование таблицы - второй текущее значение примари ключа
уууууууууууууууууууууууууу..............
----------------------------------------
шутки шутками но именно так я ответил программеру который спросил меня как работает сиквенс - приблизительно так
----------------------------------------
в общем сиквенс это не напряжно - создал и не жужжишь.... - зато знаешь как удобно использовать единый сиквенс - если например есть таблица например первичных документов - всех какие могут быть - чет-фактур - приходных расходных и тд и тп документов в общем первичных - у какждой категории документов например: банковских и счетов-фактур существуют свои таблицы и .... и .... и..... все они эти таблицы используют единую нумерацию примари ключа - и плюс все сваливается в единую таблицу первички.....
знаешь как удобно в данном случае использовать единый сиквенс - а вот как ты вывернишьсмя если у тебя будет автоинкримент на каждой таблице????? :)
18 июл 05, 11:17    [1712334]     Ответить | Цитировать Сообщить модератору
 Re: Как в Oracle описать поле с автоинкрементом?  [new]
Владимор Конев
Member

Откуда:
Сообщений: 3451
mod
я так понял что SEQUENCE для каждой таблицы мне придётся делать отдельный....
Всё зависит от логики твоего приложения. Можно сделать одну последовательность на все таблицы, можно сделать по последовательности на таблицу, можно использовать гибридные схемы (часть таблиц питаются от одной общей последовательности, а часть - каждая от своей)
18 июл 05, 11:18    [1712344]     Ответить | Цитировать Сообщить модератору
 Re: Как в Oracle описать поле с автоинкрементом?  [new]
C-Strelok
Member

Откуда: Саянск (Иркутская область), ОАО "СаянскХимпласт"
Сообщений: 631
простите за флуд - ну очень простите.... но блин предлагаю организовать "отстрел" - мускулистов........... :)

-------------------------------------------------
ИМХО: КРУЧЕ ORACLE ТОЛЬКО ГО-О-О-О-О-О-РЫ (кто не согласен: дуэль блин - на тактическом ядерном вооружении :))
-------------------------------------------------
18 июл 05, 11:20    [1712352]     Ответить | Цитировать Сообщить модератору
 Re: Как в Oracle описать поле с автоинкрементом?  [new]
alex-ls
Member

Откуда: Иркутская обл - Пенза - Москва
Сообщений: 6914
mod
C-Strelok
mod
Какая жуть.... В Oracle суррогатные ключи не в моде? В Ms SQL всё проще...

эээээээ не наезжай - оракл это крута очень крутааа.....
круче могут быть только горы..... у нас был тут один ярый мс-скулист - пришел на оракле поработал - потом плевался от мсскуля - скуль для средненьких баз подойдет а вот для корпоративных приложений фигня

Во первых, помимо Oracle есть ещё DB2... Это про крутизну...
Во вторых я не говорю про мощность MS SQL, а про его простоту в разроботке и уж тем более не про любовь к нему...

Для простоты юзай аксесс
18 июл 05, 11:23    [1712362]     Ответить | Цитировать Сообщить модератору
 Re: Как в Oracle описать поле с автоинкрементом?  [new]
mod
Member

Откуда:
Сообщений: 2273
C-Strelok
mod
я так понял что SEQUENCE для каждой таблицы мне придётся делать отдельный....


КАНЕЧНА !!!!
но можно конечно и не делать - можно хитро извернуться - можно создать табличку в которой хранить значения первичных ключей там буде два столбца :
первый наименование таблицы - второй текущее значение примари ключа
уууууууууууууууууууууууууу..............
----------------------------------------
шутки шутками но именно так я ответил программеру который спросил меня как работает сиквенс - приблизительно так
----------------------------------------
в общем сиквенс это не напряжно - создал и не жужжишь.... - зато знаешь как удобно использовать единый сиквенс - если например есть таблица например первичных документов - всех какие могут быть - чет-фактур - приходных расходных и тд и тп документов в общем первичных - у какждой категории документов например: банковских и счетов-фактур существуют свои таблицы и .... и .... и..... все они эти таблицы используют единую нумерацию примари ключа - и плюс все сваливается в единую таблицу первички.....
знаешь как удобно в данном случае использовать единый сиквенс - а вот как ты вывернишьсмя если у тебя будет автоинкримент на каждой таблице????? :)

Ну, да, канечно удобно, но ещё удобнее кады есть многообразие инструментария... Я думаю если бы в Oracle было бы и и Identity хуже бы не стало.... Ладно, будем пользовать что есть...
18 июл 05, 11:23    [1712364]     Ответить | Цитировать Сообщить модератору
 Re: Как в Oracle описать поле с автоинкрементом?  [new]
mod
Member

Откуда:
Сообщений: 2273
alex-ls и Access тоже приходится юзать... Просто, эффективно и удобно ибо не всегда нужен клиент-сервер....
18 июл 05, 11:33    [1712405]     Ответить | Цитировать Сообщить модератору
 Re: Как в Oracle описать поле с автоинкрементом?  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
mod

Ну, да, канечно удобно, но ещё удобнее кады есть многообразие инструментария... Я думаю если бы в Oracle было бы и и Identity хуже бы не стало.... Ладно, будем пользовать что есть...


Забавно
18 июл 05, 11:56    [1712501]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Oracle Ответить