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


если я поставил что, максимум вложений должно быть 4 и когда пользователь собирается еще 1 уровень сделать ,выдать сообщение что "Дерево должно быть до 4 уровней"
...
Рейтинг: 0 / 0
17.12.2014, 09:30
    #38835695
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма TREE
Бакыт,
в триггере
...
Рейтинг: 0 / 0
17.12.2014, 09:43
    #38835708
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма TREE
Petro123Бакыт,
в триггере
Ты пробовал в триггере?
...
Рейтинг: 0 / 0
17.12.2014, 09:55
    #38835720
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма TREE
Бакыт,
Конечно больше подробностей бы, как происходит добавление в подуровень, какой процесс отвечает за сохранение в таблицу.
Есть несколько вариантов.
1. Предотвратить ненужное действие, т.е. блокировать кнопку добавить подуровень, если текущий третий.
2. Ваш пример валидации не понятен, что он тут проверяет? Запрос выводит все строки дерева... где тут вычисление уровня, конкретного узла? Скорее всего код валидации неверен.
3. Ну и в процессе сохранения можно.
...
Рейтинг: 0 / 0
17.12.2014, 10:01
    #38835728
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма TREE
blkangelPetro123Бакыт,
в триггере
Ты пробовал в триггере?
пробовал. И в чём проблема?
...
Рейтинг: 0 / 0
17.12.2014, 10:03
    #38835731
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма TREE
Petro123,
Ну давай на него глянем, думаю проблема должна быть.
...
Рейтинг: 0 / 0
17.12.2014, 10:11
    #38835734
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма TREE
blkangel,
на что глянем?
Код: sql
1.
2.
If условие then
      Raise_Application_Error(-20200, 'ыыыыыыыыыыы);
...
Рейтинг: 0 / 0
17.12.2014, 10:36
    #38835753
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма TREE
Petro123,
Больше интересует вычисление уровня внутри триггера
...
Рейтинг: 0 / 0
17.12.2014, 10:44
    #38835757
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма TREE
blkangel,
тогда вопрос должен звучать - подскажите SQL запрос.
Удачи!
...
Рейтинг: 0 / 0
17.12.2014, 11:34
    #38835818
Бакыт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма TREE
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
17.12.2014, 11:38
    #38835820
Бакыт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма TREE
или на "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
17.12.2014, 11:47
    #38835833
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма TREE
Бакытмутация не сработает ?
у тебя SELECT перед вставкой.
Откуда мутация? Эти операции строго очерёдные.
...
Рейтинг: 0 / 0
17.12.2014, 14:26
    #38836028
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма TREE
Бакытили на "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
17.12.2014, 14:27
    #38836031
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма TREE
Petro123,

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


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