powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / IDENTITY
7 сообщений из 7, страница 1 из 1
IDENTITY
    #32465666
Lenta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
можно ли сделать первичному ключю IDENTITY уже после создания таблицы и занесения в неё данных?
...
Рейтинг: 0 / 0
IDENTITY
    #32465742
golsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, нельзя. Только в CREATE TABLE (для v 7.2 по крайней мере)
...
Рейтинг: 0 / 0
IDENTITY
    #32465759
golsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но можно попробовать извратиться - создать табличку с одним IDENTITY и повешать тригер на INSERT before - вставлять запись в новую и заменять полученным значением ключ в старой. Ну и не забыть тригером запретить UPDATE ключа в старой.
...
Рейтинг: 0 / 0
IDENTITY
    #32465999
Nikolay Kulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stinger aka 8.2

C:\IBM\SQLLIB\BIN>db2 create table temp1 (a int not null primary key)
DB20000I The SQL command completed successfully.

C:\IBM\SQLLIB\BIN>db2 insert into temp1 (a) values (1),(2),(3)
DB20000I The SQL command completed successfully.

C:\IBM\SQLLIB\BIN>db2 ALTER TABLE NKULIKOV.TEMP1 ALTER COLUMN A SET GENERATED AS
IDENTITY ( START WITH 4 INCREMENT BY 1 NO CACHE )
DB20000I The SQL command completed successfully.
...
Рейтинг: 0 / 0
IDENTITY
    #32466010
Фотография riman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вывод - покупайте восьмерку и будет вам щастье 8)
...
Рейтинг: 0 / 0
IDENTITY
    #32466191
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
C:\Documents and Settings\alex>db2 create table my_table ( test char (1))
DB20000I Команда SQL выполнена успешно.

C:\Documents and Settings\alex>db2 insert into my_table (test) values ('a')
DB20000I Команда SQL выполнена успешно.

C:\Documents and Settings\alex>db2 insert into my_table (test) values ('b')
DB20000I Команда SQL выполнена успешно.

C:\Documents and Settings\alex>db2 insert into my_table (test) values ('c')
DB20000I Команда SQL выполнена успешно.

C:\Documents and Settings\alex>db2 create table my_table_tmp ( id int not null GENERATED BY DEFAULT AS IDENTITY, test ch
ar (1))
DB20000I Команда SQL выполнена успешно.

C:\Documents and Settings\alex>db2 insert into my_table_tmp (test) select test from my_table
DB20000I Команда SQL выполнена успешно.

C:\Documents and Settings\alex>db2 select * from my_table_tmp

ID TEST
----------- ----
1 a
2 b
3 c

3 записей выбрано.


C:\Documents and Settings\alex>db2 drop table my_table
DB20000I Команда SQL выполнена успешно.


C:\Documents and Settings\alex>db2 create table my_table ( id int not null generated by default as identity( start with
4), test char(1))
DB20000I Команда SQL выполнена успешно.

C:\Documents and Settings\alex>db2 insert into my_table select * from my_table_tmp
DB20000I Команда SQL выполнена успешно.

C:\Documents and Settings\alex>db2 drop table my_table_tmp
DB20000I Команда SQL выполнена успешно.

C:\Documents and Settings\alex>db2 insert into my_table (test) values ('d')
DB20000I Команда SQL выполнена успешно.

C:\Documents and Settings\alex>db2 select * from my_table

ID TEST
----------- ----
1 a
2 b
3 c
4 d

4 записей выбрано.


C:\Documents and Settings\alex>
...
Рейтинг: 0 / 0
IDENTITY
    #32466202
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или проще export/import
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / IDENTITY
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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