![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
Rodman |
|
|||
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 1 Всего: 122 |
Дароф.
Вопрос заключается в том что можно ли и в какой СУБД создать первичный ключ таблицы что бы он содержал лидирующие нули.. т.е. 00000000000001 00000000000002 ............. 00000000000010 и т.д. т.е. какбы счетчик, но с определенным кол-во символов! можно ли такое реализовать и как? Сенкс |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 24 Всего: 538 |
Лидирующие нули говоришь
![]() Ведущие нули это не проблема СУБД (ее внутренний формат, тебе вообще безразличен), это проблема отображения. Или форматируй запрос используя что-то типа to_char(), или непосредсвенно в клиенте задавай формат отображения. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Deniz |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 7 Всего: 44 |
Rodman, т.е. получается обычное строковое поле фиксированной длинны и обозвать его первичным ключом.
Такое все СУБД могут сделать. Вот только вопрос, кто его будет заполнять? Клиент или СУБД? -------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
Rodman, первый встречный вопрос - зачем?
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Magnifico |
|
||||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 23.1.2008 Где: Московская област ь Репутация: 1 Всего: 17 |
делал такое но не для первичного ключа заполнять через процедуру по курсору или через update (только sql server поддерживает такой синтаксис)
основа это цикл и подстановка (в приципе можно и в тригере это сделать):
-------------------- Всё в порядке - спасибо зарядке ! |
||||||||
|
|||||||||
Rodman |
|
|||
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 1 Всего: 122 |
ну вот заказчику захотелось чтобы ID таблицы совпадал с кодом продукта, который таким принципом и назначается! Magnifico, ну шаман, но тока "right('000000' я не понял! получается не менее 6 нулей впереди?! а если меньше? Это сообщение отредактировал(а) Rodman - 8.4.2008, 12:07 |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
Минутку... заказчик желает это ВИДЕТЬ на экране, или ему принципиально, чтобы оно ХРАНИЛОСЬ в таком формате??? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 5 Всего: 260 |
Rodman, товарищ, LSD дал тебе простой, но единственно возможный правильный совет: если заказчику нужно видеть идентификатор с лидирующими нулями, то абсолютно не обязательно это хранить в базе. Тем более, использовать в качестве первичного ключа! свяжи таблицу записей на 100 с таблицей с 1000 записей по строковому ключу и посмотри, как "быстро" это все обработается
![]() храни число. выводи с добавлением нулей. и все! |
|||
|
||||
Magnifico |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 23.1.2008 Где: Московская област ь Репутация: 1 Всего: 17 |
right это TSQL функция которая берет определенное колво символов справа (чтобы мы невылезали из разряда): 0000001 0001123 0234234 6 нулей конкатенируются с новым занчением переменной @i (преобразованной к строке) а @i тип int изменяет свое значение в цикле
-------------------- Всё в порядке - спасибо зарядке ! |
||||
|
|||||
Rodman |
|
|||
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 1 Всего: 122 |
к сожелению ДА!
Всем спасибо за обсуждение! Я сделал выводы! |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 5 Всего: 260 |
Rodman, он в детстве головой не бился?
сделай, как нужно сделать, а для него сделай view'шку, где поле раздора будет текстовым |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 24 Всего: 538 |
Он собирается лично лазить в базу и выполнять SQL запросы? -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Deniz |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 7 Всего: 44 |
И все-таки сделай первичный ключ и еще одно поле для показа этих нулей, причем можно дать возможность заносить разное кол-во, т.е. 00001 0002 03 000000004 и т.д. И пусть сам мучается -------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
Rodman |
|
|||
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 1 Всего: 122 |
он код сморит!
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Общие вопросы по базам данных" | |
|
Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:
Данный форум не предназначен для:
Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение.
Полезные советы: Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | СУБД, общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |