Получи случайную криптовалюту за регистрацию!

Oracle Developer👨🏻‍💻

Логотип телеграм канала @oracle_dbd — Oracle Developer👨🏻‍💻 O
Логотип телеграм канала @oracle_dbd — Oracle Developer👨🏻‍💻
Адрес канала: @oracle_dbd
Категории: Технологии
Язык: Русский
Страна: Россия
Количество подписчиков: 2.84K
Описание канала:

ТОП канал о разработке в СУБД Oracle:
SQL, PL/SQL, оптимизация, архитектура, сертификации и многое другое...
Автор канала: Кивилёв Денис @denis_dbd
Сотрудничество, обучение, вопросы, мнения - пишите.
Youtube-канал: https://www.youtube.com/c/OracleDBD

Рейтинги и Отзывы

4.50

2 отзыва

Оценить канал oracle_dbd и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

1

4 звезд

1

3 звезд

0

2 звезд

0

1 звезд

0


Последние сообщения 8

2021-11-29 11:00:27
Подсветка интерфейса в зависимости от БД

Всем привет!
Пост будет полезен тем, кто использует IDE PL/SQL Developer.

100% вы встречались с ситуацией, когда выполняли скрипт не на той БД, не в той среде и т.п. Для предупреждения таких фейлов, многие IDE позволяют раскрашивать интерфейс в зависимости от коннекта к той или иной БД.
Не исключение мой любимый инструмент - PL/SQL Developer. Но не многие DBD/DBA знают про эту возможность.

Если зайти в меню Preferences -> Appearance, то в разделе “Connection Indicators” можно задать правила для подкрашивания интерфейса.

Шаблоны могут быть такими:
*@*dev
myuser@*
myser@some_proddb и т.д.

Для каждого шаблона задается цвет. Обычно делают: красный для Prod-сред, желтый для тестовых, зеленый для dev.

На скрине я подключен к БД содержащей в строке подключения слово dev. Соответственно, индикаторы подсвечены зеленым.

В PL/SQL Developer’e очень много разных фишек. Могу поделиться, если интересно

Всем хорошей рабочей недели

#ide
597 views08:00
Открыть/Комментировать
2021-11-26 12:01:27 Друзья, всем привет!

А у нас сегодня вакансия с релокейтом в Гданьск (Польша). Вдруг кто-то хочет поменять локацию? Ну, вдруг

Кратко, чем необходимо заниматься: миграция с разных СУБД в облако от Амазона.
Причем судя по описанию, ребята готовы обучать: No previous cloud experience is required for this job

В общем, если интересно, пишите @Distorge

https://jobs-us-east.amazon.com/es/jobs/1676280/database-engineer-aws-database-migration-accelerator

#вакансия
646 views09:01
Открыть/Комментировать
2021-11-24 11:01:17 Функции SQL vs Функции PL/SQL

Всем привет!
Вы уже задумывались о различиях между стандартными SQL и PL/SQL функциями? «А разве, между ними существуют различия?» - спросит новичок.
Да, это разные функции и иногда они ведут себя по-разному.

В Oracle Database, как известно, есть два разных движка: для выполнения SQL-запросов и для PL/SQL-кода. Как все знают, следует избегать лишних переключения между этими движками. Чтобы таких переключений происходило как можно меньше, для SQL и PLSQL имеются свои реализации стандартных функций, описанных в документации. Они работают почти всегда одинаково и в обычной практике мы их не различаем, Например:
declare
my_var integer;
begin
select nvl(c.a, c.b) into my_var from my_table c; -- Вызов SQL-функции
my_var := nvl(my_var, 0); -- Вызов PL/SQL-функции
end;
/
Зачем нам нужно помнить о разных функциях? Причин несколько:
В PL/SQL может не оказаться соответствующей функции из SQL. Например, вы не сможете в PL/SQL-коде напрямую вызвать SQL-функции NVL2 и DECODE. Видимо, разработчики не стали включать в состав языка эти функции посчитав достаточно универсальной конструкцию CASE. Наличие интересующей функции можно проверить в пакете SYS.STANDARD. Также можно обратиться к документации на язык PL/SQL и проверить вызов на практике в обычном анонимном PL/SQL-блоке.

В SQL может не оказаться "своей" вызываемой функции. В таком случае можно попробовать обратиться к PL/SQL-функции напрямую через пакет SYS.STANDARD. Например:
select sys.standard.sqlcode from dual
В таком случае произойдёт то самое переключение контекста. Но не всякая PL/SQL-функция доступна в SQL из-за различий в поддерживаемых типах данных (Движок SQL ничего не знает о типе BOOLEAN).

Одноимённые реализации функции в SQL и PL/SQL-движках могут выдавать разные результаты. К сожалению, такое иногда встречается, поскольку каждую из реализаций внутри Oracle Database писали и поддерживали разные люди. Я натыкался на различия в результатах для функции TO_CHAR(left number, format varchar2, parms varchar2). Функции применяли разное выравнивание пробелами и приходилось прилагать дополнительные усилия, чтобы преобразование везде работало одинаково.

Пожалуйста, напишите в комментариях, встречалось ли вам что-то подобное.

Автор: @alexeionin

#функции
663 views08:01
Открыть/Комментировать
2021-11-24 11:01:17 Друзья, всем привет!
Как и обещал, ниже пост нашего подписчика
633 views08:01
Открыть/Комментировать
2021-11-22 11:00:07
Друзья, всем привет!

Я уже давно “закидывал удочку” на тему авторских постов в канале. Давайте еще раз озвучу мысль

У нас тут абсолютно разные люди - по специализациям, по уровню знаний, по уникальному опыту. Этим можно было поделиться с другими коллегами.
Я даю возможность любому желающему опубликовать свой пост, задачу\решение, вопрос с собеседования или что-то другое интересное для аудитории канала. Естественно, с указанием автора.

Это отличная возможность, поделиться вашими знаниями, получить обратную связь, пообщаться с коллегами

Конечно, есть определенные правила, налагаемые в основном, форматом Telegram. Посты должны быть краткими, отформатированными, отражающими суть. Как форматировать посты можно посмотреть на примере моих. Все это обсуждается в личке.

В эту среду, я опубликую пост от нашего подписчика. Это будет первый пост подобного рода

Хочу напомнить, что в этом канале нет места негативу, наоборот, приветствуется поддержка и конструктивные замечания.

Всем хорошей недели!
124 views08:00
Открыть/Комментировать
2021-11-19 11:00:22
Друзья, всем привет!
Сегодняшний пост про внутреннюю жизнь канала.

Нативная реклама от Telegram
Телеграм стал монетизировать свою аудиторию. Начали размещать объявления в каналах. Когда вы видите рекламный пост с пометкой sponsored (как на скрине выше), это вот оно. Я не могу повлиять на ее отображение. Прошу отнестись к этому с пониманием.

Я иногда, размещаю рекламные посты с тегом #реклама. Деньги идут на продвижение канала, ибо для меня это не бесплатно. И да, расходы больше чем доходы.

Комментарии к постам
К сожалению, не ко всем постам добавляются нативные комментарии. Если пост с голосованием или ссылками в виде кнопки, то плашка с комментами не отображается.

Но! есть выход. Вы можете вступить в чат канала. И тогда у вас появится возможность комментировать любой пост в канале. Некоторое количество подписчиков уже там.
Нужно жямкнуть свойства канала -> View discussion -> Join group
Велком!

Кстати, в понедельник, будет кое-что интересное

Всем хороших выходных!
571 views08:00
Открыть/Комментировать
2021-11-18 18:45:00
Разница между UNION и UNION ALL с точки зрения оптимизации

Постановка задачи в посте вторника.

Начнем с простого. Что это за операции?
UNION - объединяет два множества, оставляет только уникальные значения.
UNION ALL - объединяет два множества, значения не уникальны, т.е. могут быть повторы.
Пока разница очевидна.

Пример:
select some_col1 from tab1
union
select some_col1 from tab2;

Давайте подумаем, а в чем различие операций на уровне выполнения. За счет чего достигается уникальность отдаваемых значений в UNION?

За счет дополнительного шага сортировки. И это прекрасно видно в плане запроса. После шага UNION-ALL выполняется SORT.
Я всегда говорю, если вам сортировка не требуется, то не надо её делать. Избавляемся от лишних сортировок.

Возьмите за правило, использовать по умолчанию операцию UNION ALL, которая не выполняет сортировку. Только, если по бизнес-процессу требуется уникальность значений используйте UNION. Помогите СУБД избавиться от лишней работы

#оптимизация #union #unionall
553 views15:45
Открыть/Комментировать
2021-11-16 11:00:16
Всем привет!

Вполне вероятно, что, проходя собеседование на DBD или Backend-разработчика вы можете столкнуться с таким вопросом:
“Какая разница между UNION и UNION ALL с точки зрения оптимизации?”

Что ответите?

Разбор задачи с планами запросов, как обычно, в четверг
Не переключайтесь


Интересно вам уже задавали на собесе этот вопрос? Голосовалка под постом

#задача
806 views08:00
Открыть/Комментировать
2021-11-12 10:00:31
Устали от многоэтапных собеседований, скринингов и тестовых заданий? Тинькофф готов дать оффер за 1 день

Если вы — опытный системный аналитик DWH, работающий с базами данных и умеющий писать SQL-запросы, то присоединяйтесь к комьюнити DWH из более чем 300 человек. В Тинькофф 20 команд работают над 50 проектами, поэтому вы легко найдете интересное направление. Работайте удаленно или в офисе: комфортно пройти онбординг помогут менторы, общие встречи, внутреннее обучение и мероприятия.

Все секции пройдут онлайн в Zoom 4 декабря. Вы узнаете о проектах, задачах, условиях работы и сможете задать любые, даже самые каверзные вопросы.

Успейте оставить заявку до 1 декабря. Фидбэк об участии пришлют в течение 3 дней: https://l.tinkoff.ru/dwh-1dayoffer

#реклама
580 views07:00
Открыть/Комментировать
2021-11-11 15:30:05
Очередность срабатывания триггеров
Задача: см постановку в посте вторника.

Решение
В Oracle 11g, в синтаксисе создания триггера, появилась опция FOLLOWS.
Ей можно задать за каким триггером срабатывать текущему.

Итого:
create or replace trigger some_tab_trg_A
after insert
on some_tab
follows some_tab_trg_B
begin
dbms_output.put_line('A');
end;
/

create or replace trigger some_tab_trg_C
after insert
on some_tab
begin
dbms_output.put_line('C');
end;
/

create or replace trigger some_tab_trg_B
after insert
on some_tab
follows some_tab_trg_C
begin
dbms_output.put_line('B');
end;
/

Возможно, вам где-то это пригодится
Ссылка на доку под постом

#решениезадачи #trigger
688 views12:30
Открыть/Комментировать