powered by simpleCommunicator - 2.0.44     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Создание таблицы с полями в цикле
5 сообщений из 5, страница 1 из 1
Создание таблицы с полями в цикле
    #40077033
juratorneo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые коллеги. По долгу службы встала такая вот необходимость.
В выпадающий список Select list загоняю список таблиц.
Далее при выборе значения из списка в табличке сразу отражается список столбцов этой таблице.
В таблице есть поле с CheckBox.
Необходимо создать таблицу на основании выбора любых полей из отраженной табличке с помощью checkbox.
Короче вроде как сделал, что по кнопке создаётся таблица. Но проблема в том, что создаётся она с одним полем. Тем, что выберу первым.
Хз что еще можно предложить ?
Вот код кнопки:

BEGIN
FOR i IN 1..APEX_APPLICATION.G_F01.COUNT LOOP
EXECUTE IMMEDIATE 'CREATE TABLE ADMIN.'||:P1_TABLE_LIST||' AS SELECT '||APEX_APPLICATION.G_F01(i)||' FROM SYS.'||:P1_TABLE_LIST;
END LOOP;
END;

А это я вычисляю содержимое Select List :
SELECT TABLE_NAME,
TABLE_NAME TABLE_NAME2
FROM SYS.ALL_TABLES
WHERE OWNER = 'SYS';

Как сделать так, чтобы всё таки таблица создавалась со всеми выделенными полями.
...
Рейтинг: 0 / 0
Создание таблицы с полями в цикле
    #40077034
juratorneo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
juratorneo,

Я догадываюсь в чем дело. Дело походу в самом цикле, а именно в работе. После того, как он прошелся по первому значению, он создал таблицу с полем, далее он переходит к попытке создать снова таблицу со следующим значением поля, но получает ошибку что такой объект уже существует. Хз пока не придумал как это обойти.
...
Рейтинг: 0 / 0
Создание таблицы с полями в цикле
    #40077082
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы не правильно собираете и пости ответили на свой вопрос


Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
declare 
    v_sql       varchar2(32767);
begin
    v_sql:='create table admin.'||:p1_table_list||' as select ';
    for i in 1..apex_application.g_f01.count loop
        if i>1 then 
            v_sql:=v_sql||',;';
        End if;
        v_sql:=v_sql||apex_application.g_f01(i);
        
    end loop;
    v_sql:=v_sql||' from sys.'||:p1_table_list;
    execute immediate v_sql;
end;
...
Рейтинг: 0 / 0
Создание таблицы с полями в цикле
    #40077108
juratorneo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
blkangel,

При многом благодарен за помощь. Не могли бы вы еще чуть подсказать. При выполнении выходит ошибка ora -00900 неверно предложение на языке sql. Сам не справляюсь найти.
Опыта мало.
...
Рейтинг: 0 / 0
Создание таблицы с полями в цикле
    #40077126
juratorneo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
juratorneo,

Решено. Сэр, я вам благодарен. Вы мне очень помогли с головняком. Это я лишнее слово случайно добавил. Всё работает))
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Создание таблицы с полями в цикле
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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