Использование просмотров в SQL

We use cookies. Read the Privacy and Cookie Policy

Использование просмотров в SQL

В SQL просмотр ведет себя во многих отношениях как обычная таблица. Вы можете осуществлять выборку из него, используя или нет предложения ORDER BY, GROUP BY или WHERE.

Если просмотр является естественно изменяемым, или он был сделан изменяемым с помощью триггера и существуют соответствующие привилегии SQL, вы можете выполнять для него позиционированные и поисковые операции изменения, добавления и удаления, которые будут оперировать с базовой таблицей. Вы можете также делать следующее:

* создавать просмотры просмотров;

* выполнять выбор из просмотра в модулях PSQL;

* выполнять соединение (JOIN) просмотра с другими просмотрами и таблицами. В некоторых случаях вы можете соединять просмотры с хранимыми процедурами выбора.

Для простой иллюстрации создадим просмотр и хранимую процедуру для таблицы EMPLOYEE и выполним их соединение. Вот просмотр:

CREATE VIEW V_EMP_NAMES

AS

SELECT EMP_NO, LAST_NAME, FIRST_NAME

FROM EMPLOYEE ^

COMMIT ^

А вот хранимая процедура:

CREATE PROCEDURE P_EMP_NAMES

RETURNS (

EMP_NO SMALLINT;

EMP_NAME VARCHAR (35))

AS

BEGIN

FOR SELECT EMP_NO, FIRST_NAME || || LAST_NAME FROM EMPLOYEE

INTO :EMP_NO, :EMP_NAME

DO

SUSPEND;

END ^

COMMIT ^

Запрос, который их соединяет:

SELECT

V.EMP_NO,

V.LAST_NAME,

V.FI RST_NAME,

P.EMP_NAME

FROM V_EMP_NAMES V

JOIN P_EMPNAMES P

ON V.EMP_NO = P.EMPNO ^