|
Как перенести BLOB поле в другой sbspace?
|
|||
---|---|---|---|
#18+
Возникла необходимость переноса существующих BLOB-данных в другой sbspace. Похоже, штатного решения типа ALTER FRAGMENT INIT in <another_sbspace> для BLOB-полей не существует (надеюсь, пока). Думаю использовать следующий метод: 1. Создать новое поле Код: sql 1.
2. Скопировать BLOB-данные, используя функцию LOCOPY 3. Дропнуть старое поле 3. Переименовать новое поле Никто не смог бы ничего посоветовать по этому поводу? С уважением Виктор ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2012, 13:27 |
|
Как перенести BLOB поле в другой sbspace?
|
|||
---|---|---|---|
#18+
не пробовал, но попробуй ALTER TABLE tabname modify PUT col IN (newsbspace) синтаксис вроде позволяет. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2012, 14:44 |
|
Как перенести BLOB поле в другой sbspace?
|
|||
---|---|---|---|
#18+
яфшуеіне пробовал, но попробуй ALTER TABLE tabname modify PUT col IN (newsbspace) синтаксис вроде позволяет. эта операция будет касаться только новых записей, старые останутся в старом sbspace ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2012, 15:17 |
|
Как перенести BLOB поле в другой sbspace?
|
|||
---|---|---|---|
#18+
да, действительно этим, возможно, тоже можно воспользоваться как вариантом 1. alter table ... 2. "апдейт" таблицы ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2012, 17:44 |
|
Как перенести BLOB поле в другой sbspace?
|
|||
---|---|---|---|
#18+
яфшуеіда, действительно этим, возможно, тоже можно воспользоваться как вариантом 1. alter table ... 2. "апдейт" таблицы Простой апдейт не поможет. Он будет опять использовать старый sbspace. Нужно юзать именно функцию LOCOPY. Примерно так: Код: sql 1.
Если опустить последние 2 параметра функции LOCOPY, то несмотря на то, что в описании новой таблицы конкретно стоит указание нового sbspace (..PUT .. IN (newsbspace)), создаваться он будет в старом sbspace, поскольку наследует характеристики той таблицы из которой он копируется!!! 2 последних параметра функции LOCOPY будут указывать новые характеристики вставляемого поля. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2012, 09:27 |
|
Как перенести BLOB поле в другой sbspace?
|
|||
---|---|---|---|
#18+
"апдейт" был взят в кавычки чтобы не писать delete/insert, т.е. это не оператор update. но, судя по всему, вы уже проблему решили. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2012, 11:46 |
|
Как перенести BLOB поле в другой sbspace?
|
|||
---|---|---|---|
#18+
яфшуеі"апдейт" был взят в кавычки чтобы не писать delete/insert, т.е. это не оператор update. но, судя по всему, вы уже проблему решили. да. решили, все оказалось гораздо проще :) можно и прямым "апдейтом", правда, несколько видоизмененным: Код: sql 1. 2.
Если блоб-данных очень много, "апдейтить" частями, что бы избежать длинной транзакции, особенно если sbspace создан с опцией Df=LOG ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2012, 22:12 |
|
|
start [/forum/topic.php?fid=44&fpage=12&tid=1607135]: |
0ms |
get settings: |
28ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
34ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
198ms |
get tp. blocked users: |
2ms |
others: | 33ms |
total: | 336ms |
0 / 0 |