Channel: Oracle Developer👨🏻💻
🚀 Марафон по Oracle PL/SQL завершён — подводим итоги!
Друзья, всем привет! 👋🏻
20 марта закончился наш марафон по Oracle PL/SQL. Мы долго к нему готовились, и это было не зря 😊 Нам удалось всего за 5 часов разобрать и обсудить с вами самые разные темы: от работы джобов до новинок Oracle 21c, от страхов и ловушек мышления до секретов карьерного роста.📈
Спасибо всем участникам ❤️ за вашу активность и интересные вопросы - каждый день в чате было по несколько сотен сообщений🔥
Такие эфиры ценны именно возможностью живого общения: обсудить наболевшее, задать вопросы, познакомиться с единомышленниками и почувствовать, что ты не один в этом IT-мире. 💡 Не зря мы с Павлом прямо в эфире поделились ссылками на свои профили в LinkedIn, а слушатели в ответ кидали свои приглашения. Теперь наше комьюнити стало еще больше и крепче! 😊 Спасибо вам!
🔥 Вот как это было:
1️⃣ День 1.
Мы познакомились, обсудили горячие вакансии на позиции от 230К+💰 , продемонстрировали новые возможности PL/SQL и вместе разобрали тот самый тест.
Ребята получили ДЗ: задачку из реального тестового задания, и моментально включились в работу — свои решения прислали почти все🔝 .
2️⃣ День 2.
День начался с обратной связи по предыдущей встрече, затем мы разобрали некоторые из присланных домашек, после чего показали
решение уровня Senior. В целом день был посвящен разнице между Middle и Senior-разработчиками. К нам в гости заглянули наши студенты и поделились своими успехами😎 . Один из ребят внедрил многопоточность у себя на проекте и в разы ускорил критически важный процесс в банке. Сказал, что даже топ-менеджмент оценил! 💪🏻 И кстати, обучение он проходил как раз за счет работодателя, и тот уже убедился, что вложения себя оправдали. 🚀
3️⃣ День 3.
Заключительный день был про карьеру. Наша карьерная фея Люба рассказала, как в текущих условиях рынка оставаться востребованным и выделяться среди других кандидатов. Мы прожарили🔥 несколько резюме в прямом эфире, указав слушателям на типовые ошибки кандидатов ❌ .
Затем был рассказ про то, каким может быть ваш карьерный путь вместе с нами 🫂 А в конце небольшое демо курса и розыгрыш 🎁: скидки на обучение, консультации с нами, материалы.
✨ Отзывы участников говорят сами за себя:
🔥 «Теперь у меня чёткий план, что учить и куда двигаться»
🔥 «Спасибо за интересные задачки»
🔥 «Системная и полезная информация. Очень полезно»
Те, кто был на марафоне вместе с нами - можете оставить свои отзывы в нашем чатике💬
🎓 Самое главное — это была не просто теория, а реальный план карьерного роста.
📌 Курс "Основы Oracle PL/SQL" (14 поток) стартует уже 4 апреля, анкета предзаписи открыта:
👉 Анкета на предзапись!
Успейте записаться до повышения цен и стартуйте весну с прокачкой!
Пишите в поддержку 👈 — поможем с выбором формата обучения 🚀
К слову, если кто-то считает, что нюансы Oracle 21c на рынке не востребованы, то вот вам небольшая история:
И напоследок: не бойтесь ставить перед собой амбициозные цели! Возможно, именно вы станете одним из наших выпускников, который выйдет на международный уровень и будет работать с последними версиями Oracle на топовых проектах. 🚀
#марафон #oracle #plsql #карьера
Канал Oracle Developer | Чатик💬
Друзья, всем привет! 👋🏻
20 марта закончился наш марафон по Oracle PL/SQL. Мы долго к нему готовились, и это было не зря 😊 Нам удалось всего за 5 часов разобрать и обсудить с вами самые разные темы: от работы джобов до новинок Oracle 21c, от страхов и ловушек мышления до секретов карьерного роста.
Спасибо всем участникам ❤️ за вашу активность и интересные вопросы - каждый день в чате было по несколько сотен сообщений
Такие эфиры ценны именно возможностью живого общения: обсудить наболевшее, задать вопросы, познакомиться с единомышленниками и почувствовать, что ты не один в этом IT-мире. 💡 Не зря мы с Павлом прямо в эфире поделились ссылками на свои профили в LinkedIn, а слушатели в ответ кидали свои приглашения. Теперь наше комьюнити стало еще больше и крепче! 😊 Спасибо вам!
🔥 Вот как это было:
1️⃣ День 1.
Мы познакомились, обсудили горячие вакансии на позиции от 230К+
Ребята получили ДЗ: задачку из реального тестового задания, и моментально включились в работу — свои решения прислали почти все
2️⃣ День 2.
День начался с обратной связи по предыдущей встрече, затем мы разобрали некоторые из присланных домашек, после чего показали
решение уровня Senior. В целом день был посвящен разнице между Middle и Senior-разработчиками. К нам в гости заглянули наши студенты и поделились своими успехами
3️⃣ День 3.
Заключительный день был про карьеру. Наша карьерная фея Люба рассказала, как в текущих условиях рынка оставаться востребованным и выделяться среди других кандидатов. Мы прожарили
Затем был рассказ про то, каким может быть ваш карьерный путь вместе с нами 🫂 А в конце небольшое демо курса и розыгрыш 🎁: скидки на обучение, консультации с нами, материалы.
✨ Отзывы участников говорят сами за себя:
🔥 «Теперь у меня чёткий план, что учить и куда двигаться»
🔥 «Спасибо за интересные задачки»
🔥 «Системная и полезная информация. Очень полезно»
Те, кто был на марафоне вместе с нами - можете оставить свои отзывы в нашем чатике
🎓 Самое главное — это была не просто теория, а реальный план карьерного роста.
📌 Курс "Основы Oracle PL/SQL" (14 поток) стартует уже 4 апреля, анкета предзаписи открыта:
👉 Анкета на предзапись!
Успейте записаться до повышения цен и стартуйте весну с прокачкой!
Пишите в поддержку 👈 — поможем с выбором формата обучения 🚀
К слову, если кто-то считает, что нюансы Oracle 21c на рынке не востребованы, то вот вам небольшая история:
Вчера у нас прошла очередная встреча на потоке по оптимизации. В конце дня мы разбирали кейс одного из студентов, и тут как раз отлично зашел SQL Macro — свежая фишка 21-й версии. Когда ребята увидели, как это работает, один из учеников вспомнил, что на недавнем собеседовании его как раз спрашивали про отличия между 19 и 21 версиями. Компания готовится обновлять продуктивный стенд. 🚀
И напоследок: не бойтесь ставить перед собой амбициозные цели! Возможно, именно вы станете одним из наших выпускников, который выйдет на международный уровень и будет работать с последними версиями Oracle на топовых проектах. 🚀
#марафон #oracle #plsql #карьера
Канал Oracle Developer | Чатик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
💡 Хранимая процедура с секретом – разберешься?
Друзья, всем привет! 👋
Прошлая неделя прошла под флагом PL/SQL-марафона (подробности были тут). Судя по отзывам, он вам зашел! 🚀 Мы уже готовим серию вебинаров на откликнувшиеся вам темы.🔥 Но перед этим — небольшая задачка, решение которой вам скоро пригодится 😉
Итак,
💡 Задача:
Нужно написать хранимую процедуру, которая принимает параметр любого типа и выводит его значение на экран.
⭐️ Дополнительное задание для знатоков: если параметр типа
Простая задача? Давайте проверим! 😏
Делитесь своими решениями в нашем чатике 💬
📅 Разбор задачи будет в четверг, так что следите за обновлениями!👀
#PLSQL #Oracle #Pavel_Dolganov #задачка
🔗 Канал Oracle Developer | Чатик💬
Друзья, всем привет! 👋
Прошлая неделя прошла под флагом PL/SQL-марафона (подробности были тут). Судя по отзывам, он вам зашел! 🚀 Мы уже готовим серию вебинаров на откликнувшиеся вам темы.
Итак,
💡 Задача:
Нужно написать хранимую процедуру, которая принимает параметр любого типа и выводит его значение на экран.
⭐️ Дополнительное задание для знатоков: если параметр типа
nested table
, вывести количество записей в коллекции.Простая задача? Давайте проверим! 😏
Делитесь своими решениями в нашем чатике 💬
📅 Разбор задачи будет в четверг, так что следите за обновлениями!
#PLSQL #Oracle #Pavel_Dolganov #задачка
🔗 Канал Oracle Developer | Чатик💬
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤2👍1
💡 Хранимая процедура с секретом – разберешься?
Друзья, всем привет! 👋
Во вторник мы подкинули вам задачку про гибкие параметры хранимых процедур в Oracle. Спасибо всем, кто прислал решение и принял участие в жаркой🔥 дискуссии! Многие сразу догадались, что речь идёт про ANYDATA. Но главный вопрос: а зачем это вообще нужно на практике? 🤔
У меня есть для вас один интересный кейс, и уже в следующий четверг мы обязательно его обсудим. Следите за анонсами! 📅
А пока разберёмся с ANYDATA и решением задачки.
💡Что такое ANYDATA❓
Это универсальный контейнер для данных, который позволяет хранить и передавать значения разных типов: строки, числа, коллекции и даже объекты. Это удобно, когда нужно работать с разными структурами данных без жёсткой привязки к конкретному типу.
Когда может быть полезен❓
🔶 интеграции, API
🔶 EAV-архитектура
🔶 многослойные пользовательские интерфейсы, и т.п.
Основное преимущество для разработчика — отсутствие необходимости хранить метаданные, а также самому реализовывать валидацию и парсинг пользовательских данных. Anydata берет всё это на себя! 🚀
А теперь решение задачки 📚
1️⃣ Процедура с параметром
2️⃣ Пример вызова
3️⃣ Вывод в консоль
🔥 Как вам задачка? Возможно, у вас тоже есть интересные кейсы с ANYDATA? Или вы придумали, как его использовать в своём проекте? Делитесь мнением в нашем чатике 💬
#PLSQL #Oracle #Pavel_Dolganov #задачка
🔗 Канал Oracle Developer | Чатик 💬
Друзья, всем привет! 👋
Во вторник мы подкинули вам задачку про гибкие параметры хранимых процедур в Oracle. Спасибо всем, кто прислал решение и принял участие в жаркой
У меня есть для вас один интересный кейс, и уже в следующий четверг мы обязательно его обсудим. Следите за анонсами! 📅
А пока разберёмся с ANYDATA и решением задачки.
💡Что такое ANYDATA
Это универсальный контейнер для данных, который позволяет хранить и передавать значения разных типов: строки, числа, коллекции и даже объекты. Это удобно, когда нужно работать с разными структурами данных без жёсткой привязки к конкретному типу.
Когда может быть полезен
🔶 интеграции, API
🔶 EAV-архитектура
🔶 многослойные пользовательские интерфейсы, и т.п.
Основное преимущество для разработчика — отсутствие необходимости хранить метаданные, а также самому реализовывать валидацию и парсинг пользовательских данных. Anydata берет всё это на себя! 🚀
А теперь решение задачки 📚
1️⃣ Процедура с параметром
CREATE OR REPLACE PROCEDURE p_get_anydata_value
(
p_param IN anydata
) IS
l_anytype anytype;
l_typecode PLS_INTEGER;
l_varchar_value VARCHAR2(255 Char);
l_num_value NUMBER;
l_collection t_numbers;
l_status VARCHAR2(64 CHAR);
BEGIN
-- Проверяем тип данных в ANYDATA
l_typecode := p_param.GetType(l_anytype);
IF l_typecode IN (dbms_types.TYPECODE_NAMEDCOLLECTION
,dbms_types.TYPECODE_TABLE) THEN
-- Извлекаем коллекцию
IF p_param.GetCollection(l_collection) = dbms_types.SUCCESS THEN
l_status := 'record_count=' || l_collection.count();
ELSE
l_status := 'ошибка извлечения коллекции';
END IF;
ELSIF l_typecode = dbms_types.TYPECODE_VARCHAR2 THEN
IF p_param.GetVarchar2(l_varchar_value) = dbms_types.SUCCESS THEN
l_status := l_varchar_value;
END IF;
ELSIF l_typecode = dbms_types.TYPECODE_NUMBER THEN
IF p_param.GetNumber(l_num_value) = dbms_types.SUCCESS THEN
l_status := l_num_value;
END IF;
ELSE
l_status := 'неподдерживамый тип параметра';
END IF;
dbms_output.put_line(l_status);
END p_get_anydata_value;
/
2️⃣ Пример вызова
create or replace type t_numbers is table of number;
/
begin
dbms_output.put_line('anydata.ConvertNumber:');
p_get_anydata_value(anydata.ConvertNumber(25));
dbms_output.put_line('anydata.ConvertVarchar2:');
p_get_anydata_value(anydata.ConvertVarchar2('Это строка'));
dbms_output.put_line('anydata.ConvertCollection:');
p_get_anydata_value(anydata.ConvertCollection(t_numbers(1, 2, 3, 4, 5)));
end;
/
3️⃣ Вывод в консоль
anydata.ConvertNumber:
25
anydata.ConvertVarchar2:
Это строка
anydata.ConvertCollection:
record_count=5
🔥 Как вам задачка? Возможно, у вас тоже есть интересные кейсы с ANYDATA? Или вы придумали, как его использовать в своём проекте? Делитесь мнением в нашем чатике 💬
#PLSQL #Oracle #Pavel_Dolganov #задачка
🔗 Канал Oracle Developer | Чатик 💬
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤1
💡 Как не завалить первое интервью и получить оффер?
Друзья, всем привет! 👋
Весна в самом разгаре 🌱, всё вокруг обновляется, и многие из вас начинают задумываться о смене работы.
Как вы помните, я уже не раз делился внутрянкой найма ораклистов в РФ.
Меня до сих пор спрашивают в личке, как сейчас обстоят дела на рынке и к чему готовиться на собеседовании.
Об этом мы сегодня и поговорим 💬
📌 1. Технический блок собеседования: что спрашивают?
❗️ Прежде всего, хочу напомнить, что осенью я уже выпускал подробные посты и видео-интервью на эту тему: раз, два, три, четыре, пять.
Если вы их ещё не читали или не смотрели — очень советую.
Во-первых, никаких кардинальных изменений в технических вопросах с того времени не произошло.
🔍 По-прежнему спрашивают про:
✅ Коллекции (ассоциативные массивы, вложенные таблицы, varrays)
✅ Курсоры (явные, неявные, REF CURSOR)
✅ Юнит-тестирование в PL/SQL
✅ Планы запросов и индексы (оптимизация, статистика, cost-based optimizer)
✅ Секционирование
Во-вторых, успешное прохождение собеседований — это тоже навык, который требует тренировки. Поэтому будет полезно нажать на паузу и подумать: а как бы ты ответил на этот вопрос? 🤔
📌 2. Сегодняшний рынок — на стороне работодателя
Если вы были на наших карьерных вебинарах, то уже знаете: рынок сейчас на стороне работодателя. И если раньше он мог закрыть глаза на небольшие пробелы, то теперь ищет сильных специалистов.
Поэтому важно не просто отвечать на вопросы, а делать это лучше остальных кандидатов.
Как думаете, кому охотнее сделают оффер?
😎 Кандидату, который ответил на все вопросы за 10 минут?
😬 Или тому, кто мямлил и чесал репу, вспоминая, чем отличается
А кому будут подкидывать каверзные вопросы, типа такого:
📌 3. Готовьтесь заранее!
Наша карьерная фея Люба настоятельно рекомендует готовиться к техническому блоку заранее.💡
Может так случиться, что первое же собеседование окажется тем самым. Будет обидно завалить его из-за мелочей 🤷♂️
Если не уверены в своих силах — велком к нам на мок-собеседование.
Сейчас явно не то время, чтобы идти к офферу мечты методом проб и ошибок. 🔥
Друзья, напоминаем вам, что совсем скоро стартует 14-й поток курса Мастер Oracle PL/SQL 🎓
Если вы не знаете:
🔶 как с помощью ассоциативных массивов ускорить работу приложения
🔶 чем отличается
🔶 что такое юнит-тесты и зачем они нужны
🔶 как сделать пользовательские блокировки эффективными
🔶 о чем говорит ошибка "состояние пакета было сброшено" и т.п.,
то успевайте🕙 .
Возможно, именно эти знания помогут вам получить оффер вашей мечты. 🚀
Пишите в комментариях, как у вас проходили собеседования, были ли неожиданные вопросы? 💬
#Карьера #Oracle #PLSQL #Собеседование
🔗 Канал Oracle Developer | Чатик 💬
Друзья, всем привет! 👋
Весна в самом разгаре 🌱, всё вокруг обновляется, и многие из вас начинают задумываться о смене работы.
Как вы помните, я уже не раз делился внутрянкой найма ораклистов в РФ.
Меня до сих пор спрашивают в личке, как сейчас обстоят дела на рынке и к чему готовиться на собеседовании.
Об этом мы сегодня и поговорим 💬
📌 1. Технический блок собеседования: что спрашивают?
❗️ Прежде всего, хочу напомнить, что осенью я уже выпускал подробные посты и видео-интервью на эту тему: раз, два, три, четыре, пять.
Если вы их ещё не читали или не смотрели — очень советую.
Во-первых, никаких кардинальных изменений в технических вопросах с того времени не произошло.
🔍 По-прежнему спрашивают про:
✅ Коллекции (ассоциативные массивы, вложенные таблицы, varrays)
✅ Курсоры (явные, неявные, REF CURSOR)
✅ Юнит-тестирование в PL/SQL
✅ Планы запросов и индексы (оптимизация, статистика, cost-based optimizer)
✅ Секционирование
Во-вторых, успешное прохождение собеседований — это тоже навык, который требует тренировки. Поэтому будет полезно нажать на паузу и подумать: а как бы ты ответил на этот вопрос? 🤔
📌 2. Сегодняшний рынок — на стороне работодателя
Если вы были на наших карьерных вебинарах, то уже знаете: рынок сейчас на стороне работодателя. И если раньше он мог закрыть глаза на небольшие пробелы, то теперь ищет сильных специалистов.
Поэтому важно не просто отвечать на вопросы, а делать это лучше остальных кандидатов.
Как думаете, кому охотнее сделают оффер?
😎 Кандидату, который ответил на все вопросы за 10 минут?
😬 Или тому, кто мямлил и чесал репу, вспоминая, чем отличается
FOR
от FORALL
?А кому будут подкидывать каверзные вопросы, типа такого:
Есть две таблицы из одного поля. В таблице A 7 строк, во всех null. В таблице B 5 строк, во всех также null.
Сколько строк вернет запрос из этих двух таблиц с inner join?
C left join?
C right join?
C full join?
📌 3. Готовьтесь заранее!
Наша карьерная фея Люба настоятельно рекомендует готовиться к техническому блоку заранее.💡
Может так случиться, что первое же собеседование окажется тем самым. Будет обидно завалить его из-за мелочей 🤷♂️
Если не уверены в своих силах — велком к нам на мок-собеседование.
Сейчас явно не то время, чтобы идти к офферу мечты методом проб и ошибок. 🔥
Друзья, напоминаем вам, что совсем скоро стартует 14-й поток курса Мастер Oracle PL/SQL 🎓
Если вы не знаете:
🔶 как с помощью ассоциативных массивов ускорить работу приложения
🔶 чем отличается
dbms_job
от dbms_scheduler
🔶 что такое юнит-тесты и зачем они нужны
🔶 как сделать пользовательские блокировки эффективными
🔶 о чем говорит ошибка "состояние пакета было сброшено" и т.п.,
то успевайте
Возможно, именно эти знания помогут вам получить оффер вашей мечты. 🚀
Пишите в комментариях, как у вас проходили собеседования, были ли неожиданные вопросы? 💬
#Карьера #Oracle #PLSQL #Собеседование
🔗 Канал Oracle Developer | Чатик 💬
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2🔥2
💡5 шагов к зарплате 200К+ в 2025 году!
Друзья, всем привет! 👋
Я часто получаю вопросы в личке:
❓«Денис, ну я же нормальный специалист. Опыт 5-7 лет, задачи решаю, тесты пишу, заказчик доволен… Почему я до сих пор сижу на зп 150-180К, а кто-то получает 220-250К — и это считается нормой?»
Отвечаю.
📌 В 2025 году быть просто «нормальным специалистом» уже недостаточно. Если вы хотите ЗП от 220К и выше, вы должны уметь:
✅ Писать качественный и читаемый код, применять паттерны проектирования
✅ Уметь в микросервисную архитектуру, работать с API и интеграциями
✅ Тестировать свой код через юнит-тесты
✅ Иметь навыки оптимизации SQL
✅ И главное — уметь себя продавать на рынке
🔥 И вот вам свежий кейс 🔥
Мы недавно отбирали ребят на курс. Пришел парень — всего 2 года опыта по PL/SQL, но:
🔶 у него системный подход
🔶 рассказал про свой план развития на ближайшие пару лет
🔶 ему все реально интересно
🔶 умеет себя преподнести
💥 Итог: получил оффер на 240К. Без «10 лет в банке», не имея 3х лет стажа и т.п.
Или пример того самого Паши, который в свои 23 со стажем 2,5 года уже зарабатывает 210К и планирует в этом году стать senior-разработчиком.
А теперь вопрос к вам:
👉 Вы держитесь за свои 150К с 5+ годами стажа, потому что боитесь изменений?
👉 Или потому что «ещё не время»?
👉 Или потому что не знаете, с чего начать?
👉🏻 Или просто не хотите инвестировать в свои знания?
Что бы вы ни выбрали, ответ будет один: нужно начать с себя
📅 Уже через 5 дней стартует курс «Мастер Oracle PL/SQL» — последний в этом году.
💡 Что вас ждет на курсе:
✅ Системное обучение PL/SQL от экспертов в своем деле
✅ Теория + очень много практики
✅ Классический Oracle + новинки версии 21с
✅ трехзвенка, API, юнит-тесты
✅ Сертификат об окончании, карьерная поддержка, помощь с резюме
✅ Помощь с подбором вакансий — не останетесь без работы!
💰 Окупаемость курса — 1-2 месяца на вашей новой работе.
❌ Пропустите — и следующая возможность будет только в 2026 году. А это уже другой рынок, другие конкуренты.
📌 Если давно хотели — время пришло!
Пишите в поддержку, увидимся 4 апреля
Удачи! И пусть PL/SQL принесет вам уверенность в завтрашнем дне и достойный доход! 💪
#oracle #plsql #карьера #зарплата #собеседование #резюме #курс
Канал Oracle Developer | Чатик💬
Друзья, всем привет! 👋
Я часто получаю вопросы в личке:
❓«Денис, ну я же нормальный специалист. Опыт 5-7 лет, задачи решаю, тесты пишу, заказчик доволен… Почему я до сих пор сижу на зп 150-180К, а кто-то получает 220-250К — и это считается нормой?»
Отвечаю.
📌 В 2025 году быть просто «нормальным специалистом» уже недостаточно. Если вы хотите ЗП от 220К и выше, вы должны уметь:
✅ Писать качественный и читаемый код, применять паттерны проектирования
✅ Уметь в микросервисную архитектуру, работать с API и интеграциями
✅ Тестировать свой код через юнит-тесты
✅ Иметь навыки оптимизации SQL
✅ И главное — уметь себя продавать на рынке
🔥 И вот вам свежий кейс 🔥
Мы недавно отбирали ребят на курс. Пришел парень — всего 2 года опыта по PL/SQL, но:
🔶 у него системный подход
🔶 рассказал про свой план развития на ближайшие пару лет
🔶 ему все реально интересно
🔶 умеет себя преподнести
💥 Итог: получил оффер на 240К. Без «10 лет в банке», не имея 3х лет стажа и т.п.
Или пример того самого Паши, который в свои 23 со стажем 2,5 года уже зарабатывает 210К и планирует в этом году стать senior-разработчиком.
А теперь вопрос к вам:
👉 Вы держитесь за свои 150К с 5+ годами стажа, потому что боитесь изменений?
👉 Или потому что «ещё не время»?
👉 Или потому что не знаете, с чего начать?
👉🏻 Или просто не хотите инвестировать в свои знания?
Что бы вы ни выбрали, ответ будет один: нужно начать с себя
📅 Уже через 5 дней стартует курс «Мастер Oracle PL/SQL» — последний в этом году.
💡 Что вас ждет на курсе:
✅ Системное обучение PL/SQL от экспертов в своем деле
✅ Теория + очень много практики
✅ Классический Oracle + новинки версии 21с
✅ трехзвенка, API, юнит-тесты
✅ Сертификат об окончании, карьерная поддержка, помощь с резюме
✅ Помощь с подбором вакансий — не останетесь без работы!
💰 Окупаемость курса — 1-2 месяца на вашей новой работе.
❌ Пропустите — и следующая возможность будет только в 2026 году. А это уже другой рынок, другие конкуренты.
📌 Если давно хотели — время пришло!
Пишите в поддержку, увидимся 4 апреля
Удачи! И пусть PL/SQL принесет вам уверенность в завтрашнем дне и достойный доход! 💪
#oracle #plsql #карьера #зарплата #собеседование #резюме #курс
Канал Oracle Developer | Чатик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🤷♂2👍2
Anydata в реальном проекте: зачем и как использовать? 🎯
Друзья, всем привет! 👋
На прошлой неделе мы с вами решали задачку про Anydata.
Решение многим понравилось, но вопрос "зачем это вообще нужно на практике?" по-прежнему остается актуальным 🤔
Я обещал подкинуть вам реальный кейс – ловите! 🎯
Представьте: у вас в схеме есть интеграционный пакет, который обменивается данными со сторонним API 🌐
Или, если вам ближе DWH, пусть это будет формирование витрин по расписанию ⏳.
Задача простая – запустить произвольный PL/SQL-метод асинхронно или по расписанию.
Но вот загвоздка: каждый метод принимает разные параметры, в т.ч. коллекции, объявленные на уровне схемы.
Какое решение, кроме динамического SQL, вы могли бы предложить❓
Делитесь своими решениями в нашем чатике 💬
Разбор задачи, как обычно, в четверг 🔥
#Oracle #PLSQL #Anydata #Pavel_Dolganov #задачка
🔗 Канал Oracle Developer | Чатик 💬
Друзья, всем привет! 👋
На прошлой неделе мы с вами решали задачку про Anydata.
Решение многим понравилось, но вопрос "зачем это вообще нужно на практике?" по-прежнему остается актуальным 🤔
Я обещал подкинуть вам реальный кейс – ловите! 🎯
Представьте: у вас в схеме есть интеграционный пакет, который обменивается данными со сторонним API 🌐
Или, если вам ближе DWH, пусть это будет формирование витрин по расписанию ⏳.
Задача простая – запустить произвольный PL/SQL-метод асинхронно или по расписанию.
Но вот загвоздка: каждый метод принимает разные параметры, в т.ч. коллекции, объявленные на уровне схемы.
Какое решение, кроме динамического SQL, вы могли бы предложить
Делитесь своими решениями в нашем чатике 💬
Разбор задачи, как обычно, в четверг 🔥
#Oracle #PLSQL #Anydata #Pavel_Dolganov #задачка
🔗 Канал Oracle Developer | Чатик 💬
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Anydata в реальном проекте: зачем и как использовать? 🎯 Решение задачи
Друзья, всем привет! 👋🏻
Во вторник мы кидали вам практическую задачку по Anydata. Сегодня публикуем обещанное решение 👇🏻
Ключевая идея — использовать
✅ расширенное логирование запусков
✅ цепочки заданий (chains)
✅ сложные повторения
✅ программы
Более подробно об этом мы говорим на курсе Мастер Oracle PL/SQL.
Что мы делаем конкретно в этой задаче❓
1️⃣ Используем пакет
Нам понадобится:
🔶 тип данных
🔶 метод
2️⃣ Реализуем маппинг типов данных
Нам нужно сопоставить типы данных Oracle с теми, что поддерживает
В коде за это отвечает метод
3️⃣ Создаем программу
Она будет запускать асинхронно или по расписанию произвольный PL/SQL-метод.
4️⃣ Привязываем к программе параметры метода
через
5️⃣ Создаем джоб
Для передачи параметров используем
Пример вызова процедуры:
Код пакета user_jobs_pkg в комментариях к этому посту 👇🏻
Коллеги, это решение может показаться громоздким, но оно из серии "сделал и забыл".✍️
Один раз настроили, отладили - и можно вызывать асинхронно любые методы. Прелесть же?! 😉
Напишите в комментариях, что думаете по этому поводу? 🤔
Если зашло, ставьте по традиции жирный 👍🏻, мы старались.
На этом тему anydata в Oracle считаем закрытой 😊 Сорри, если она вам приелась, но для senior-разработчика это💯 полезный навык.
Друзья, также напоминаю, что уже завтра стартует счастливый1️⃣ 4️⃣ поток курса Мастер Oracle PL/SQL 🚀
Если вы хотите:
🔶 увидеть еще больше кейсов из реальных проектов;
🔶 научиться работать с трехзвенкой;
🔶 посмотреть на новинки в Oracle 21c;
🔶 наконец-то начать писать юнит-тесты;
🔶 запилить в гитхаб свой собственный крутой pet-проект🤟
, то успевайте🕙 .
Следующая такая возможность будет нескоро. 🤷♂️
#Oracle #PLSQL #Anydata #Pavel_Dolganov #задачка
🔗 Канал Oracle Developer | Чатик 💬
Друзья, всем привет! 👋🏻
Во вторник мы кидали вам практическую задачку по Anydata. Сегодня публикуем обещанное решение 👇🏻
Ключевая идея — использовать
dbms_scheduler
, т.к. по сравнению с классическим dbms_job
он предлагает гораздо больше возможностей:✅ расширенное логирование запусков
✅ цепочки заданий (chains)
✅ сложные повторения
✅ программы
Более подробно об этом мы говорим на курсе Мастер Oracle PL/SQL.
Что мы делаем конкретно в этой задаче
1️⃣ Используем пакет
dbms_describe
для анализа методаНам понадобится:
🔶 тип данных
t_describe
🔶 метод
describe_procedure
, который проанализирует процедуру и поймет, какие параметры она принимает на вход.2️⃣ Реализуем маппинг типов данных
Нам нужно сопоставить типы данных Oracle с теми, что поддерживает
dbms_scheduler
.В коде за это отвечает метод
get_oratype_name
.3️⃣ Создаем программу
Она будет запускать асинхронно или по расписанию произвольный PL/SQL-метод.
4️⃣ Привязываем к программе параметры метода
через
dbms_scheduler.define_program_argument
.5️⃣ Создаем джоб
Для передачи параметров используем
sys.jobarg_array
, основанный на объекте sys.jobarg
. Пример вызова процедуры:
DECLARE
v_import_data t_credit_table;
v_arguments sys.jobarg_array;
BEGIN
IF v_import_data IS NOT empty THEN
v_arguments := sys.jobarg_array(
sys.jobarg(1, anydata.ConvertCollection(v_import_data)),
sys.jobarg(2, anydata.ConvertChar(const_pkg.c_yes)));
-- Создадим и запустим джоб
user_jobs_pkg.create_user_job(p_program_name => 'p_process_contracts',
p_program_action => $$PLSQL_UNIT || '.run_job',
p_arguments => v_arguments);
END IF;
END;
/
Код пакета user_jobs_pkg в комментариях к этому посту 👇🏻
Коллеги, это решение может показаться громоздким, но оно из серии "сделал и забыл".
Один раз настроили, отладили - и можно вызывать асинхронно любые методы. Прелесть же?! 😉
Напишите в комментариях, что думаете по этому поводу? 🤔
Если зашло, ставьте по традиции жирный 👍🏻, мы старались.
На этом тему anydata в Oracle считаем закрытой 😊 Сорри, если она вам приелась, но для senior-разработчика это
Друзья, также напоминаю, что уже завтра стартует счастливый
Если вы хотите:
🔶 увидеть еще больше кейсов из реальных проектов;
🔶 научиться работать с трехзвенкой;
🔶 посмотреть на новинки в Oracle 21c;
🔶 наконец-то начать писать юнит-тесты;
🔶 запилить в гитхаб свой собственный крутой pet-проект
, то успевайте
Следующая такая возможность будет нескоро. 🤷♂️
#Oracle #PLSQL #Anydata #Pavel_Dolganov #задачка
🔗 Канал Oracle Developer | Чатик 💬
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Пятничный тест по PL/SQL
Коллеги, всем привет!
Давайте разомнемся в пятницу перед выходными 🏋🏻♀️
Вопросики по PL/SQL для уровня middle/senior.
Погнали!
—
А где-то в фоне стартовал 14й поток по PL/SQL. Ребята начинают 2.5 месячное путешествие по просторам PL/SQL. Еще есть время присоединиться 😉
Пиши в поддержку 🚀
#Oracle #PLSQL #Pavel_Dolganov #тест
🔗 Канал Oracle Developer | Чатик 💬
Коллеги, всем привет!
Давайте разомнемся в пятницу перед выходными 🏋🏻♀️
Вопросики по PL/SQL для уровня middle/senior.
Погнали!
—
А где-то в фоне стартовал 14й поток по PL/SQL. Ребята начинают 2.5 месячное путешествие по просторам PL/SQL. Еще есть время присоединиться 😉
Пиши в поддержку 🚀
#Oracle #PLSQL #Pavel_Dolganov #тест
🔗 Канал Oracle Developer | Чатик 💬
🔥3
Forwarded from Pavel V
Вопрос: Что произойдет, если в таблице employees нет сотрудника с employee_id = 1❓
Anonymous Quiz
27%
Выведется Salary: <NULL>
18%
Выведется Salary: 0
45%
Возникнет ошибка NO_DATA_FOUND
10%
Возникнет ошибка INVALID_CURSOR
👍1
Forwarded from Pavel V
Вопрос: Что будет выведено на экран❓
Anonymous Quiz
43%
2 3
2%
0 0
6%
0 <NULL>
48%
Возникнет ошибка "ORA-06531: Ссылка на неинициализированный набор"
👍1🔥1
Forwarded from Pavel V
Вопрос: Что будет выведено на экран❓
Anonymous Quiz
31%
Зарплата сотрудника после выполнения UPDATE
26%
UPDATE не отработает, т.к. строка заблокирована командой FOR UPDATE
29%
Зарплата сотрудника до выполнения UPDATE
15%
FETCH не отработает, т.к. строка заблокирована командой UPDATE
👍3🔥1
Forwarded from Pavel V
Вопрос: Какое значение зарплаты будет у сотрудника с employee_id = 100 после выполнения запроса❓
Anonymous Quiz
14%
Зарплата увеличится на 20%
27%
Зарплата увеличится на 10%
44%
Зарплата увеличится на 32%
14%
Возникнет ошибка
👍4🔥1
Forwarded from Pavel V
Вопрос: Что будет выведено в результате выполнения запроса❓
Anonymous Quiz
10%
1, 2, 3
54%
3, 2, 1
7%
3, 3, 3
29%
Возникнет бесконечная рекурсия
🔥1
Forwarded from Pavel V
Вопрос: укажите минимально и максимально возможные значения COUNT, если в обеих таблицах по 15 записей❓
Anonymous Quiz
37%
0 и 15
6%
1 и 15
42%
0 и 225
15%
15 и 225
🔥1
HTML Embed Code: