Oracle - Выбираем все пользовательские таблицы с полями и комментариями.

Для того, чтобы написать скрипт выбора всех пользовательских таблиц с полями и комментариями нам понадобятся системные таблицы:

user_tables
--Выбираем все пользовательские таблицы и их параметры
select * from user_tables


user_tab_comments
--Выбираем комментарии к пользовательским таблицам
select * from user_tab_comments


user_tab_columns
--Выбираем все поля и их параметры по пользовательским таблицам
select * from user_tab_columns


user_col_comments
--Выбираем комментарии к полям пользовательских таблиц
select * from user_col_comments


Читать дальше →

Пример создания временных таблиц на PL/SQL как в MSSQL

Для того, кто перешёл с MSSQL на Oracle, как например для меня, очень не привычно отсутствие такой удобной конструкции как:
select * into #tmp from table1

Где #tmp — временная таблица, с которой мы в рамках сессии можем далее обращаться как с обычной.
Однако в Oracle такая конструкция не работает. Мои попытки сходу найти какой либо аналог, успехом не увенчались. Однако свершилось чудо, и спустя некоторое время более опытный в этом вопросе коллега подсказал таки выход, который по сути реализует аналогичную вещь как и в MSSQL.

И так, вот как оказывается можно:
with

--Задаем временные таблицы
t_view1 as (select * from table1 where id = 1),

t_view2 as (select * from table2 where id = 1)

--Производим действия с использованием временных таблиц
select * from table3 t where
exists (select * from t_view1 v where v.id = t.id)
and exists (select * from t_view2 v where v.id = t.id)


И всё!..
(Кусочек кода не большой и думаю понятен, без излишнего разъяснения).