Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / продублировать записи в таблице с небольшими изменениями. / 5 сообщений из 5, страница 1 из 1
22.05.2007, 14:59
    #34542509
w
w
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
продублировать записи в таблице с небольшими изменениями.
Имеется таблица T1 с данными

Код: plaintext
1.
2.
3.
4.
id   name   type
 1     aa       bb
 2     aa       bb
 3     aa       bb

Необходимо получить

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
id   name   type
 1     aa       bb
 2     aa       bb
 3     aa       bb
 4     aa       cc
 5     aa       cc
 6     aa       cc

Для генерации значения поля id используется последовательность seq1.
Вопрос как решить данную задачу. Если возможно, не прибегая к PL/PGsql
...
Рейтинг: 0 / 0
22.05.2007, 15:17
    #34542604
Andrey Daeron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
продублировать записи в таблице с небольшими изменениями.
wИмеется таблица T1 с данными

Код: plaintext
1.
2.
3.
4.
id   name   type
 1     aa       bb
 2     aa       bb
 3     aa       bb

Необходимо получить

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
id   name   type
 1     aa       bb
 2     aa       bb
 3     aa       bb
 4     aa       cc
 5     aa       cc
 6     aa       cc

Для генерации значения поля id используется последовательность seq1.
Вопрос как решить данную задачу. Если возможно, не прибегая к PL/PGsql
Написать 3 инсерта? из серии:
Код: plaintext
1.
2.
3.
 INSERT INTO T1 (id,name,type) VALUES ( 4 ,'aa','cc');
 INSERT INTO T1 (id,name,type) VALUES ( 5 ,'aa','cc');
 INSERT INTO T1 (id,name,type) VALUES ( 6 ,'aa','cc');

Ну и подвинем генератор (если нужно, в условии ничего не сказано ):
Код: plaintext
1.
2.
 
 SELECT nextval('seq1'),nextval('seq1'),nextval('seq1');
...
Рейтинг: 0 / 0
22.05.2007, 15:23
    #34542627
.gc
.gc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
продублировать записи в таблице с небольшими изменениями.
Код: plaintext
1.
2.
insert into your_table (name, type)
  select name, 'cc' from your_table where name = 'aa';
...
Рейтинг: 0 / 0
22.05.2007, 15:28
    #34542658
w
w
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
продублировать записи в таблице с небольшими изменениями.
Имеется таблица T1 с данными
Код: plaintext
1.
2.
3.
4.
5.
id   name   type
 1     aa       bb
 2     da       xx
 3     db       xx
 4     ab       bb

Необходимо получить
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
id   name   type
 1     aa       bb
 2     da       xx
 3     db       xx
 4     ab       bb
 5     aa       cc
 6     ab       cc

То есть пройти по таблице, найти записи, где type='bb' и продублировать их, изменив type на 'cc' , соответсвенно, используя уникальный id.
Для генерации значения поля id используется последовательность seq1.

Вопрос как решить данную задачу? Если возможно, не прибегая к PL/PGsql
...
Рейтинг: 0 / 0
23.05.2007, 23:06
    #34547081
Vladimir Sitnikov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
продублировать записи в таблице с небольшими изменениями.
wТо есть пройти по таблице, найти записи, где type='bb' и продублировать их, изменив type на 'cc' , соответсвенно, используя уникальный id.
Для генерации значения поля id используется последовательность seq1.
Что вижу то и пою?
Код: plaintext
1.
2.
3.
4.
insert into t1(id, name, type)
  select nextval('seq1'), name, 'cc'
    from t1
   where type='bb'
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / продублировать записи в таблице с небольшими изменениями. / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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