Помогите решить задачку с update

ниф-ниф
Дата: 18.11.2008 12:09:04
Есть таблица emp с двумя столбцами ID number и CLIENT_ID number

Допустим есть следующие данные:

ID CLIENT_ID
------- --------------
101 110
102 101
103 108
104 213
105 201
106 110
107 111
108 202
109 206
110 213

Нужно получить следующие

ID CLIENT_ID
------- --------------
101 110
102 101
103 108
104 213
105 201
101 110
107 111
108 202
109 206
104 213

Таблица большая 100.000 строк и таких повторяющихся CLIENT_ID порядка 20.000.
Legi
Дата: 18.11.2008 12:13:36
в двух словах опишите какая тут применяется логика... а то как ребус получается из ряда японских сканвордов :)
Добрый Э - Эх
Дата: 18.11.2008 12:14:24
update emp emp0
   set id = (select min(id) from emp where client_id = emp0.client_id)
ниф-ниф
Дата: 18.11.2008 12:26:52
2Добрый Э - Эх
Добрый Э - Эх
Дата: 18.11.2008 12:28:26
ниф-ниф,

desc emp в студию...
Jannny
Дата: 18.11.2008 12:29:00
ниф-ниф
2Добрый Э - Эх
Если Вам самому не исправить эту опечатку, то уверены ли Вы в том, что хотите сделать? Зачем Вам тогда поле id, очень похоже, что оно было первичным ключом...
ниф-ниф
Дата: 18.11.2008 12:38:00
2Добрый Э - Эх

Ступил :) все, выполняется.
Таблица большая процесс затянулся.
Спасиб
ниф-ниф
Дата: 18.11.2008 13:02:19
А можно эту задачу использованием курсора сделать? ну вообщем посредством PL/SQL а то уж больно тяжело делать такой апдейт серверу :)
ниф-ниф
Дата: 18.11.2008 13:04:37
2Jannny

Какую отпечатку? Какой ключ первичный?
Читайте пожалуйста внимательнее.
сиська
Дата: 18.11.2008 13:05:17
курсором будет медленнее

лучше обеспечь нужные индексы, посмотри план и т.д.