Как определить по умолчанию, где пункт на таблице в оракуле - PullRequest
0 голосов
/ 22 сентября 2018

Некоторые запросы имеют ту же часть предложения where.

Запрос первый:

select [some-selected column] 
  from [TABLE_NAME]
 where [its-own-where-clause]
   and [shared-where-clause]

Запрос второй:

select [some-selected column] 
  from [TABLE_NAME]
 where [its-own-where-clause]
   and [shared-where-clause]

Запрос третий:

select [some-selected column] 
  from [TABLE_NAME]
 where [its-own-where-clause]
   and [shared-where-clause]

.,,,

Запрос n:

select [some-selected column] 
  from [TABLE_NAME]
 where [its-own-where-clause]
   and [shared-where-clause]

Как вы можете видеть, в предложении where есть две части, первая из которых относится к своему бизнесу запроса, а вторая - междувсе эти запросы.Ясно, что весь вышеупомянутый запрос должен быть изменен при изменении [shared-where-clause].

Я хочу поместить раздел shared в предложении where, в котором его изменение применяется ко всем этим запросам.,

Возможно ли это в оракуле?

1 Ответ

0 голосов
/ 22 сентября 2018

Создание ВИДА.

Пример:

create table PERSON (
    PERSON_ID    number(10, 0)  not null primary key,
    PERSON_NAME  nvarchar(100)  not null,
    AGE          number(3, 0)   not null,
    GENDER       char(1)        not null check(GENDER in ('M', 'F'))
);

create view MALES as
select PERSON_ID, PERSON_NAME, AGE, GENDER
  from PERSON
 where GENDER = 'M';

create view FEMALES as
select PERSON_ID, PERSON_NAME, AGE, GENDER
  from PERSON
 where GENDER = 'F';

Теперь мы можем запрашивать различные возрастные группы мужчин без повторения общего условия на GENDER.

select *
  from MALES
 where AGE between 0 and 19;

select *
  from MALES
 where AGE between 20 and 49;

select *
  from MALES
 where AGE >= 50;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...