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

SQL запросы в представлениях ИБСО

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


Вступление в Клуб: 11.07.2007
СообщениеЧт Авг 02, 2007 05:39   SQL запросы в представлениях ИБСО Ответить с цитатой
Полезность: Нет оценки
Добрый день, коллеги!

Подскажите, как вывести в представление содержимое таблицы "methods".

Вот такой запрос (работает в SQL Navigator):

Код:
SELECT
A.CLASS_ID , A.BODY_SELECT , A.BODY_WHERE , A.ID , A.SHORT_NAME
FROM
   IBS.METHODS A


как его поместить в представление ИБСО?

Другой вариант - SQL/Plus представление:

Код:
type main is
select s(m.NAME : NAME, m.STATUS:STATUS, m.USER_MODIFIED : USER_MODIFIED)
in methods%rowtype, (classes%rowtype : c), (methods%rowtype : m) ;


но здесь выходит другая проблема: строки данных дублируются, пропорционально ограничению на количество отображаемых экземпляров, т.е. если ограничение стоит 10 строк, а реально запрос выбрал 2 строки, то каждая строка будет отображаться 5 раз....может есть какая-нибудь настройка?
German
Профи


Вступление в Клуб: 25.06.2007
СообщениеЧт Авг 02, 2007 07:54    Ответить с цитатой
Полезность: 1
dbmaslov пишет:
Вот такой запрос (работает в SQL Navigator):
Код:
SELECT
A.CLASS_ID , A.BODY_SELECT , A.BODY_WHERE , A.ID , A.SHORT_NAME
FROM
   IBS.METHODS A

как его поместить в представление ИБСО?


В любом ТБП или справочнике создаете представление PL/PLUS. На первой закладке размещаете
Код:
type main is
   SELECT A(
       A.CLASS_ID      :C_CLASS_ID
      ,A.BODY_SELECT   :C_BODY_SELECT
      ,A.BODY_WHERE   :C_BODY_WHERE
      ,A.ID         :C_ID
      ,A.SHORT_NAME   :C_SHORT_NAME
   ) in METHODS%rowtype
;

_________________
Homo homini
German
Профи


Вступление в Клуб: 25.06.2007
СообщениеЧт Авг 02, 2007 07:58   Re: SQL запросы в представлениях ИБСО Ответить с цитатой
Полезность: 2
dbmaslov пишет:
Другой вариант - SQL/Plus представление:

Код:
type main is
select s(m.NAME : NAME, m.STATUS:STATUS, m.USER_MODIFIED : USER_MODIFIED)
in methods%rowtype, (classes%rowtype : c), (methods%rowtype : m);


но здесь выходит другая проблема: строки данных дублируются, пропорционально ограничению на количество отображаемых экземпляров, т.е. если ограничение стоит 10 строк, а реально запрос выбрал 2 строки, то каждая строка будет отображаться 5 раз....может есть какая-нибудь настройка?


Код:
type main is select s(
       s.NAME : NAME
      ,s.STATUS : STATUS
      ,s.USER_MODIFIED : USER_MODIFIED
) in methods%rowtype;

_________________
Homo homini
dbmaslov
Профи


Вступление в Клуб: 11.07.2007
СообщениеЧт Авг 02, 2007 08:47    Ответить с цитатой
Полезность: Нет оценки
Олег, спасибо, все получилось.
Похоже, проблема была вот здесь:
in methods%rowtype, (classes%rowtype : c), (methods%rowtype : m) ;
_________________
Маслов Дмитрий
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle Часовой пояс: GMT + 3
Страница 1 из 1

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