235 читали · 3 года назад
UPSERT в БД Oracle (Python, SQLAlchemy)
Всем привет. Я дата-инженер и достаточно долгое время работал с БД PostgreSQL. Сменив работу я столкнулся с Oracle и его особенностями. Например, с отсутствием такой удобной конструкции при записи данных, как INSERT... ON CONFLICT DO UPDATE. Есть ее аналог, но чтобы понять объяснение из документации, нужно напрягать мозг. Напишу в том виде, в котором это было бы понятно мне, когда я впервые это увидел. Может, пригодится еще кому-то. Для записи я использую Python и SQLAlchemy, но программного кода здесь не будет, только SQL в нужном формате. Итак, вместо "INSERT … ON CONFLICT DO... "в Oracle используется MERGE...
Не удалось найти Spring NamespaceHandler for XML Schema Namespace
1. Проблема В этой статье будет рассмотрена одна из самых распространенных проблем конфигурации в Spring — не найден обработчик пространства имен для одного из пространств имен Spring . В большинстве случаев это означает, что в пути к классам отсутствует одна конкретная банка Spring, поэтому давайте рассмотрим, какими могут быть эти отсутствующие схемы и какая отсутствующая зависимость для каждой из них. 2. http://www.springframework.org/schema/security Недоступность пространства имен безопасности на сегодняшний день является наиболее часто встречающейся проблемой на практике: <?xml version="1...
1 год назад
Hello, world! в Oracle PL/SQL 👋
Если вы начали изучать Oracle PL/SQL, то, по традиции, первый шаг — это вывести простое сообщение "Hello, world!". Даже в языках для работы с базами данных хочется сделать этот символичный старт. 😄 PL/SQL (Procedural Language/SQL) — это процедурное расширение языка SQL, разработанное Oracle. Он позволяет писать: Пример программы на PL/SQL, которая выведет «Hello, world!» в DBMS Output: BEGIN DBMS_OUTPUT.PUT_LINE('Hello,...
186 читали · 1 год назад
Функция EXTRACT в Oracle SQL: Извлекаем дату по частям
Работа с датами в Oracle SQL — это не просто привычные sysdate и timestamp, а целый мир встроенных инструментов. Один из таких — функция EXTRACT, которая умеет доставать из даты или времени конкретные компоненты: год, месяц, день и даже минуты с секундами. 🚀 Допустим, у нас есть дата '2020-03-13'. Хотим узнать, какой это год: Результат: 2020 SELECT EXTRACT(YEAR FROM DATE '2020-03-13') FROM dual; А если нужен месяц? Не проблема: Результат: 3 SELECT EXTRACT(MONTH FROM DATE '2020-03-13') FROM dual; Теперь немного магии с текущей датой...