Oracle SQL - Определить имена таблиц для последующего использования?
Я хотел знать, есть ли способ, в SQL Oracle, чтобы сделать некоторое определение диапазона (как в Excel). Например:
DEFINE TABLE1 = ВЫБЕРИТЕ ПОЛЕ1, ПОЛЕ2, ПОЛЕ3 ИЗ [СХЕМА]. [ТАБЛИЦА0][ГДЕ / ГРУППИТЬ ПО / ВЫСТАВЛЯТЬ / ЗАКАЗАТЬ ПО /...];
DEFINE TABLE2 = ВЫБЕРИТЕ ПОЛЕ1, ПОЛЕ2, ПОЛЕ3 ИЗ ТАБЛИЦЫ1 [ГДЕ / ГРУППИТЬ ПО / ВЫСТАВЛЯТЬ / ЗАКАЗАТЬ ПО /...];
DEFINE TABLE3 = ВЫБЕРИТЕ ПОЛЕ1, ПОЛЕ2, ПОЛЕ3 ИЗ ТАБЛИЦЫ 2 СЛЕДУЮЩИЙ ПРИСОЕДИНЯЙТЕСЬ К ТАБЛИЦЕ1 ВКЛ [УСЛОВИЯ];
ВЫБРАТЬ * ИЗ ТАБЛИЦЫ3;
Заранее большое спасибо.
1 ответ
Решение
Судя по вашим примерам, вы хотите создать представления:
CREATE VIEW TABLE1 AS
SELECT FIELD1, FIELD2, FIELD3
FROM [SCHEMA].[TABLE0][WHERE/GROUP BY/HAVING/...];
CREATE VIEW TABLE2 AS
SELECT FIELD1, FIELD2, FIELD3
FROM TABLE1 [WHERE/GROUP BY/HAVING/...];
CREATE VIEW TABLE3 AS
SELECT FIELD1, FIELD2, FIELD3
FROM TABLE2
LEFT JOIN TABLE1 ON [CONDITIONS];
SELECT * FROM TABLE3;
ЧТОБЫ закрыть этот вопрос. Из одного из комментариев (Стив), что мне нужно, так это предложение WITH, поскольку у меня не было прав DDL.
Спасибо,