powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Форма TREE
17 сообщений из 17, страница 1 из 1
Форма TREE
    #38835648
Бакыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
здравствуйте,
как поставить ограничение на количество уровней в дереве
при добавлении записи т.е.
надо валидацию поставить
скажем я вычислю уровень
SELECT level,
FROM test_table
START WITH pid is null
CONNECT BY PRIOR id = pid
ORDER SIBLINGS BY title;


если я поставил что, максимум вложений должно быть 4 и когда пользователь собирается еще 1 уровень сделать ,выдать сообщение что "Дерево должно быть до 4 уровней"
...
Рейтинг: 0 / 0
Форма TREE
    #38835695
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бакыт,
в триггере
...
Рейтинг: 0 / 0
Форма TREE
    #38835708
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123Бакыт,
в триггере
Ты пробовал в триггере?
...
Рейтинг: 0 / 0
Форма TREE
    #38835720
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Бакыт,
Конечно больше подробностей бы, как происходит добавление в подуровень, какой процесс отвечает за сохранение в таблицу.
Есть несколько вариантов.
1. Предотвратить ненужное действие, т.е. блокировать кнопку добавить подуровень, если текущий третий.
2. Ваш пример валидации не понятен, что он тут проверяет? Запрос выводит все строки дерева... где тут вычисление уровня, конкретного узла? Скорее всего код валидации неверен.
3. Ну и в процессе сохранения можно.
...
Рейтинг: 0 / 0
Форма TREE
    #38835728
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangelPetro123Бакыт,
в триггере
Ты пробовал в триггере?
пробовал. И в чём проблема?
...
Рейтинг: 0 / 0
Форма TREE
    #38835731
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,
Ну давай на него глянем, думаю проблема должна быть.
...
Рейтинг: 0 / 0
Форма TREE
    #38835734
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,
на что глянем?
Код: sql
1.
2.
If условие then
      Raise_Application_Error(-20200, 'ыыыыыыыыыыы);
...
Рейтинг: 0 / 0
Форма TREE
    #38835753
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,
Больше интересует вычисление уровня внутри триггера
...
Рейтинг: 0 / 0
Форма TREE
    #38835757
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,
тогда вопрос должен звучать - подскажите SQL запрос.
Удачи!
...
Рейтинг: 0 / 0
Форма TREE
    #38835818
Бакыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Бакыт,
в триггере
мутация не сработает ?
т.е. чтобы текущий уровень вычислить мне надо в ту же таблицу писать запрос

до 4 уровней пусть "гуляет" как хочет


1 создал трее форму вот такой таблицой
select case when connect_by_isleaf = 1 then 0
when level = 1 then 1
else -1
end as status,
level,
"NAME" as title,
null as icon,
"ID" as value,
null as tooltip,
case when TYPES='F' then
'f?p=&APP_ID.:1:&SESSION.::::P1_ID:'||"ID" end as link
from "#OWNER#"."TABLE"
start with "PID" is null
connect by prior "ID" = "PID"

при кликании ID присваеваю как pid и процессом записываю в таблицу
...
Рейтинг: 0 / 0
Форма TREE
    #38835820
Бакыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или на "LINK" в трее поиграться?

с CASE ? т.е. в трее вычисляю LEVEL ?

case when LEVEL <4 then
'f?p=&APP_ID.:1:&SESSION.::::P1_SERVICE_ID:'||"ID"
else
null;
end as link
...
Рейтинг: 0 / 0
Форма TREE
    #38835833
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бакытмутация не сработает ?
у тебя SELECT перед вставкой.
Откуда мутация? Эти операции строго очерёдные.
...
Рейтинг: 0 / 0
Форма TREE
    #38836028
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Бакытили на "LINK" в трее поиграться?

с CASE ? т.е. в трее вычисляю LEVEL ?

case when LEVEL <4 then
'f?p=&APP_ID.:1:&SESSION.::::P1_SERVICE_ID:'||"ID"
else
null;
end as link
Как вариант
...
Рейтинг: 0 / 0
Форма TREE
    #38836031
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

Будет мутация
...
Рейтинг: 0 / 0
Форма TREE
    #38836061
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangelPetro123,
Будет мутация
Ты суслика видишь? ))))
...
Рейтинг: 0 / 0
Форма TREE
    #38836132
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,
Еще раз спрашиваю, делал так в триггере? Видимо нет, раз кода нет.
Тогда лучше не пиши ничего, один флуд от тебя.
...
Рейтинг: 0 / 0
Форма TREE
    #38836155
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,
Добро пожаловатть в веб.
Если нарушены правила форума, есть кнопка внизу.
Удачи!
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Форма TREE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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