powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / asa 902. Есть две строки в таблице, на pk первой (id=1) ссылается множество записей других
5 сообщений из 5, страница 1 из 1
asa 902. Есть две строки в таблице, на pk первой (id=1) ссылается множество записей других
    #34036759
PavelPavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
таблиц, на pk второй (id=2) - ничего. Мне надо снести первую, а id второй заменить на id первой (т.е. id второй должен быть = 1). Проблема в том, что атрибутов в таблице, кроме id, несколько десятков, и писать длинный апдейт, типа:
update table
set attribute001 = (select attribute001 from table where id = 2),
attribute002 = (select attribute001 from table where id = 2),
...
attribute999 = (select attribute999 from table where id = 2)
where id = 1;

Возможно туплю. Заранее спасибо
...
Рейтинг: 0 / 0
asa 902. Есть две строки в таблице, на pk первой (id=1) ссылается множество записей других
    #34037031
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дропнуть FK Constraints,
удалить первую запись,
проапдейтить значение PK второй записи,
создать FK Constraints, заново.
...
Рейтинг: 0 / 0
asa 902. Есть две строки в таблице, на pk первой (id=1) ссылается множество записей других
    #34037145
PavelPavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Думал об этом...

Нормальная практика дропать FK Constraints? К чему может привести данное дропанье?
...
Рейтинг: 0 / 0
asa 902. Есть две строки в таблице, на pk первой (id=1) ссылается множество записей других
    #34037845
v_smirnov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вариантов несколько. один тебе уже привели.

Насколькоя понял тебе надо удалить id=1, изменить id=2 на id=1 (все это в таблице table1

update table2 set id=2 where id=1;

delete from table1 where id=1;

insert into table 1 (все поля)
select 1, все_поля_кроме_id where id=2
(т.е. вставляем копию записи с другим идом)

update table2 set id=1 where id=2;

delete from table1 where id=2;

Или сделать FK - cascade update и ...

или ...
...
Рейтинг: 0 / 0
asa 902. Есть две строки в таблице, на pk первой (id=1) ссылается множество записей других
    #34037878
v_smirnov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
или ...

update table1 t1
set
поле_таблицы_t1=t2.поле_таблицы_t2,
поле_таблицы_t1=t2.поле_таблицы_t2,
etc
from table1 t1 join table1 t2 on (t1.id=1 and t2.id=2);

delete from table2 where id=2;

P.S. Я правильно понял что у тебя ASA 902?
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / asa 902. Есть две строки в таблице, на pk первой (id=1) ссылается множество записей других
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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