Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / как в АСА 8.0 переустановить значение autoincrement / 9 сообщений из 9, страница 1 из 1
25.10.2004, 18:23
    #32753635
Юзя
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в АСА 8.0 переустановить значение autoincrement
В хелпе ссылка на такую системную процедуру
CALL sa_reset_identity ('employee', 'dba', 100).
Но она переустанавливает значения всех столбцов, а если надо конкретного?
...
Рейтинг: 0 / 0
25.10.2004, 21:38
    #32753855
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в АСА 8.0 переустановить значение autoincrement
Как это всех ??? В одной таблице может быть только одно инкремент поле. Вот его то она и переустанавливает :)
...
Рейтинг: 0 / 0
26.10.2004, 00:08
    #32753880
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в АСА 8.0 переустановить значение autoincrement
Почему это "только одно"???? Кто сказал? :)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
create table a(
 id1 integer default autoincrement,
 id2 integer default autoincrement,
 d char( 1 )
);

insert into a (d) values ('A');
insert into a (id2, d) values ( 10 , 'B');
insert into a (d) values ('C');

select * from a;
Другое дело что смысла большого в двух автоинкриментах нету. :)
Впрочем, на мой взгляд и один единственный автоинкримент это больше головной боли чем пользы. Но извращения ради! :)
...
Рейтинг: 0 / 0
26.10.2004, 06:45
    #32753933
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в АСА 8.0 переустановить значение autoincrement
White OwlПочему это "только одно"???? Кто сказал? :)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
create table a(
 id1 integer default autoincrement,
 id2 integer default autoincrement,
 d char( 1 )
);

insert into a (d) values ('A');
insert into a (id2, d) values ( 10 , 'B');
insert into a (d) values ('C');

select * from a;

Мда, сделать 2 инкремента мне в голову как то не приходило, по MSSQL точно знаю, что нельзя, в ASA оказывается можно, правда непонятно зачем :)

White OwlВпрочем, на мой взгляд и один единственный автоинкримент это больше головной боли чем пользы. Но извращения ради! :)
А вот тут я не согласен - всю жизнь сижу на инкрементах и пока что то головной боли не ощущал.
...
Рейтинг: 0 / 0
26.10.2004, 09:08
    #32754037
Александр Гoлдун
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в АСА 8.0 переустановить значение autoincrement
White Owl
Впрочем, на мой взгляд и один единственный автоинкримент это больше головной боли чем пользы.
А в чем головная боль, если не секрет?
...
Рейтинг: 0 / 0
26.10.2004, 11:10
    #32754291
Юзя
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в АСА 8.0 переустановить значение autoincrement
Ну есть иногда задачи, в которых нужно 2 автоинкремента!
Например, одно ключевое, второе для порядкового номера,который в начале года будет сбрасываться в 0.
Так все таки? Нельзя сбросить интересующий инкремент?
...
Рейтинг: 0 / 0
26.10.2004, 11:25
    #32754343
Рыжий Кот
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в АСА 8.0 переустановить значение autoincrement
ЮзяНу есть иногда задачи, в которых нужно 2 автоинкремента!
Например, одно ключевое, второе для порядкового номера,который в начале года будет сбрасываться в 0.
Так все таки? Нельзя сбросить интересующий инкремент?

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

Автоинкремент в репликациях бывало сбоил, я так полагаю поэтому у White Owl к ним нелюбовь, впрочем как и у меня :)
...
Рейтинг: 0 / 0
26.10.2004, 12:19
    #32754532
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в АСА 8.0 переустановить значение autoincrement
ЮзяНу есть иногда задачи, в которых нужно 2 автоинкремента!
Например, одно ключевое, второе для порядкового номера,который в начале года будет сбрасываться в 0.
Так все таки? Нельзя сбросить интересующий инкремент?
Инкремент не используется для порядкового номера, эта полезная фича для исскуственного ключа. Сделайте на триггере BEFORE INSERT FOR EACH ROW просто инициализацию поля:
Код: plaintext
1.
2.
3.
4.
5.
6.
DECLARE @Number int;
SELECT IsNull(Max(Number),  0 ) +  1 
INTO @Number
FROM Table1
WHERE Year(FieldDate) = Year(New.FieldDate);

SET New.Number = @Number;
все будет прекрасно работать и при вставке поле Number в разрезе каждого года будет автоматически наращиваться.
...
Рейтинг: 0 / 0
26.10.2004, 18:20
    #32755652
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в АСА 8.0 переустановить значение autoincrement
Рыжий КотАвтоинкремент в репликациях бывало сбоил, я так полагаю поэтому у White Owl к ним нелюбовь, впрочем как и у меня :)
Совершенно верно.
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / как в АСА 8.0 переустановить значение autoincrement / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]