powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Запрос SQL
17 сообщений из 17, страница 1 из 1
Запрос SQL
    #39654777
maverick2104
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый всем,

Есть запрос который выводит ~ 1000 строк в один столбец .
Запрос
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT distinct de.segment_name
FROM dba_extents de
JOIN
(
 SELECT tablespace_name, file_id, MIN(block_id) LowestFreeBlock
 FROM dba_free_space
 WHERE tablespace_name = 'BANK'
 GROUP BY tablespace_name, file_id
) dfs ON dfs.tablespace_name = de.tablespace_name AND dfs.file_id = de.file_id
WHERE de.tablespace_name = 'BANK'
AND de.block_id > dfs.LowestFreeBlock;



Мне нужно переместить значение каждой строки вместо переменной в запросе :
Код: plsql
1.
alter table <переменная> move tablespace bank



Как можно удобнее это сделать ? Спасибо .
...
Рейтинг: 0 / 0
Запрос SQL
    #39654780
__vvp_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maverick2104,

select 'alter table ' ll de.segment_name ll ' move tablespace bank'
...
Рейтинг: 0 / 0
Запрос SQL
    #39654784
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maverick2104,

в исходном запросе сразу и собирайте строку нужного вида:
SELECT distinct 'ALTER TABLE ' || de.segment_name || ' MOVE bla-bla-lbla'...
...
Рейтинг: 0 / 0
Запрос SQL
    #39654799
maverick2104
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина Анна,

В каком именно месте в запросе ?
...
Рейтинг: 0 / 0
Запрос SQL
    #39654809
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maverick2104,

в том, где вы получаете список сегментов на перемещение...
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT distinct  'alter table ' ll de.segment_name ll ' move tablespace bank'
FROM dba_extents de
JOIN
(
 SELECT tablespace_name, file_id, MIN(block_id) LowestFreeBlock
 FROM dba_free_space
 WHERE tablespace_name = 'BANK'
 GROUP BY tablespace_name, file_id
) dfs ON dfs.tablespace_name = de.tablespace_name AND dfs.file_id = de.file_id
WHERE de.tablespace_name = 'BANK'
AND de.block_id > dfs.LowestFreeBlock;

...
Рейтинг: 0 / 0
Запрос SQL
    #39654814
maverick2104
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина Анна,

Я так и сделал но это не то .
...
Рейтинг: 0 / 0
Запрос SQL
    #39654816
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maverick2104,

Давайте зайдем с другой стороны....
А что бы вы хотели получить на выходе? Или что именно не устраивает в вашем выводе?
...
Рейтинг: 0 / 0
Запрос SQL
    #39654823
maverick2104
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина Анна,
Хорошо смотрите .

Дано:
Таблица из одного столбца ( de.segment_name ) и очень много строк.

Нужно:
К каждой строке выполнения запроса :
Код: plsql
1.
alter table < значения строки> move...



То есть чтоб я не писал alter руками команду на мув а он сам смотрел в эту таблицу , брал название таблицы и делал мув.
...
Рейтинг: 0 / 0
Запрос SQL
    #39654826
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maverick2104,

вам рассказать как сделать спул результата выполнения запроса в файл с последующим вызовом его на исполнение?
или написать процедуру формированием команды на перемещение и с динамическим её выполнением ?
...
Рейтинг: 0 / 0
Запрос SQL
    #39654828
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maverick2104,

кроме того, замувить таблицы - это только половина дела. Нужно после этого ещё как-то индексы перестроить, и перенести непереносимое мувом (lob-ы, к примеру).
ваши вопросы наталкивают на мысль, что сия затея - выше вашего текущего уровня владения ораклом. может не стОит так рисковать и доверить всё более опытным товарищам?
...
Рейтинг: 0 / 0
Запрос SQL
    #39654830
maverick2104
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина Аннаmaverick2104,

вам рассказать как сделать спул результата выполнения запроса в файл с последующим вызовом его на исполнение?
или написать процедуру формированием команды на перемещение и с динамическим её выполнением ?

Хорошо давайте попробуем первый вариант , мне кажется он более универсальный.
...
Рейтинг: 0 / 0
Запрос SQL
    #39654833
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maverick2104,

для начала расскажите, какую задачу решаете... чего в итоге своих манипуляций хотите получить? на какой версии оракла всё происходит?
...
Рейтинг: 0 / 0
Запрос SQL
    #39654834
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина Аннадля начала расскажите, какую задачу решаете... чего в итоге своих манипуляций хотите получить?Почаще заходила бы, знала бы про его совсем недавние потуги .
...
Рейтинг: 0 / 0
Запрос SQL
    #39654838
maverick2104
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина Анна,

Oracle 11.2.0.1.0 SE

Первый запрос выводит название всех таблиц/индексов которые необходимо замувить чтоб снизить hwm , а уже в последствие ресайзить датафайлы .
...
Рейтинг: 0 / 0
Запрос SQL
    #39654853
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IMHO Два варианта, админский и программерский )))

1. Как уже сказали: сделать вывод SELECT'а в файл (или команда SPOOL в SQL Plus или Copy-Past в PL/SQL Developer'е), потом выполнить данный файл (или через SQL PLUS или опять таки Copy-Past в PL/SQL Developer)

2. Программисткий вариант: процедура на PL/SQL которая в цикле по запросу/таблице собирает команду и выполняет ее через EXECUTE IMMEDIATE.

Я так и сделал но это не то

Если "не то", это отсутствие пробела, то я даже не знаю, что тут можно сказать (((
...
Рейтинг: 0 / 0
Запрос SQL
    #39654854
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic,

ух ты ж.... тяжелый случай...

так-то судя по названиям ТП и таблиц - система не из таких, которые "сломать не жалко"...
...
Рейтинг: 0 / 0
Запрос SQL
    #39654863
maverick2104
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы мне очень помогли , Спасибо .
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Запрос SQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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