посмотреть с параметрами? - PullRequest
5 голосов
/ 21 июня 2010

Правильно ли я полагаю, что невозможно создать представление с параметрами?

У меня есть запрос с подзапросом, и в предложении where мне нужно указать параметр.Указание, где выражение зрения не помогло бы.Я хотел бы вызвать простое представление с параметрами вместо отправки в базу данных сложного SQL-запроса.Как можно было бы сделать это?

N.

Ответы [ 3 ]

6 голосов
/ 21 июня 2010

Вы упоминаете "указание, где предложение не поможет".Почему бы и нет?Мой совет - просто создать представление без параметров и использовать «выбрать * из представления, где [ваши предикаты с вашими параметрами]».

Если вы действительно хотите продолжить параметризованные представления, тогда вы можетеконтексты приложения в вашем предложении where.Вы можете прочитать о них здесь в документации: http://download.oracle.com/docs/cd/E11882_01/network.112/e10574/app_context.htm#DBSEG011

И здесь является примером.

С уважением, Роб.

2 голосов
/ 21 июня 2010

Вы должны иметь возможность использовать табличную функцию .

0 голосов
/ 31 мая 2016

Попробуйте это: в вашем коде:

`   ....
    RDB$SET_CONTEXT('USER_SESSION', 'VARNAME','VALUE');
    SELECT * FROM VIEW VIEWNAME;
    ...`

в вашем представлении определение:

    SELECT * FROM TABLENAME 
        WHERE FIELDNAME=RDB$GET_CONTEXT('USER_SESSION', 'VARNAME');

то есть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...