CftClub.ru
Клуб специалистов ЦФТ-Банк

Обратная ссылка

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle
Предыдущая тема :: Следующая тема  
Автор Сообщение
cool_dude
Участник - экстремал


Вступление в Клуб: 05.02.2013
СообщениеСр Май 14, 2025 08:00   Обратная ссылка Ответить с цитатой
Полезность: Нет оценки
Доброе утро.
Есть ли возможность отфильтровать записи в справочнике по условию обратной ссылки, т.е. выделить те записи у которых есть обратная ссылка?
Blackmore64
Профи


Вступление в Клуб: 17.01.2017
СообщениеСр Май 14, 2025 22:24   Re: Обратная ссылка Ответить с цитатой
Полезность: Нет оценки
Можно в Дополнительно как-то так
Код:
exists (select 1 from ibs.VW_CRIT_TBP_REF r where r.REF1 = $$$.VW_CRIT_TBP.ID)

где
- VW_CRIT_TBP_REF - вью типа, в котором находится обратная ссылка в поле, например, REF1.
- VW_CRIT_TBP - вью справочника.
cool_dude
Участник - экстремал


Вступление в Клуб: 05.02.2013
СообщениеПт Май 16, 2025 14:22    Ответить с цитатой
Полезность: Нет оценки
Спасибо за ответ, но у меня не сработало.
Blackmore64
Профи


Вступление в Клуб: 17.01.2017
СообщениеПн Май 19, 2025 07:37    Ответить с цитатой
Полезность: Нет оценки
Пример - найти записи в справочнике Группы свойств договоров (PROPERTY_GRP), на которые есть обратная ссылка из справочника Дополнительные реквизиты договоров (PROD_PROPERTY)

Код:
exists (select 1 from ibs.VW_CRIT_PROD_PROPERTY pp where pp.REF3 = $$$.VW_CRIT_PROPERTY_GRP.ID)
Volod
Эксперт


Вступление в Клуб: 19.09.2007
СообщениеПн Май 19, 2025 10:46    Ответить с цитатой
Полезность: Нет оценки
Подзапросы из вьюшек для просмотра лучше не делать - в любой момент могут сломаться из-за изменения состава полей. Проще добавить в представление колонку - подзапрос из нужной ТБП.
Blackmore64
Профи


Вступление в Клуб: 17.01.2017
СообщениеПн Май 19, 2025 16:55    Ответить с цитатой
Полезность: Нет оценки
Volod пишет:
Подзапросы из вьюшек для просмотра лучше не делать - в любой момент могут сломаться из-за изменения состава полей. Проще добавить в представление колонку - подзапрос из нужной ТБП.


Речь шла про фильтр. Если нужно добавить условие в само представление, то да - лучше колонку. С колонкой в любом случае проще.
Random
Эксперт


Вступление в Клуб: 27.06.2011
СообщениеЧт Май 22, 2025 10:10    Ответить с цитатой
Полезность: Нет оценки
cool_dude пишет:
Спасибо за ответ, но у меня не сработало.

правильно. чтобы сработало, у пользователя должен быть прямой доступ на чтение из таблиц IBS, а у пользователей как правило есть только доступ на чтение из представлений. К тому же при переходе в DBI, скорее всего такой запрос вообще не будет работать или будут нюансы типа, под ORA нужно префиксом указывать имя владельца, под PG оборачивать имена таблиц в кавычки и указывать префиксом имя схемы, и т.д.

В целом ответ на исходный вопрос: в общем случае нельзя.
Можно переписать представление, добавив туда новую колонку (или сделать расширение) и фильтровать уже с участием этой новой колонки.
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах