194 читали · 2 года назад
UPSERT в БД Oracle (Python, SQLAlchemy)
Всем привет. Я дата-инженер и достаточно долгое время работал с БД PostgreSQL. Сменив работу я столкнулся с Oracle и его особенностями. Например, с отсутствием такой удобной конструкции при записи данных, как INSERT... ON CONFLICT DO UPDATE. Есть ее аналог, но чтобы понять объяснение из документации, нужно напрягать мозг. Напишу в том виде, в котором это было бы понятно мне, когда я впервые это увидел. Может, пригодится еще кому-то. Для записи я использую Python и SQLAlchemy, но программного кода здесь не будет, только SQL в нужном формате. Итак, вместо "INSERT … ON CONFLICT DO... "в Oracle используется MERGE...
863 читали · 6 лет назад
Печеньки от Oracle. Экспорт/импорт с помощью XML
Перенос данных из систему 1 в систему 2 несколько необычным образом. Предположим, в системе 1 есть некоторые данные, которые нам надо перенести в систему 2. Предположим, они доступны с использованием следующего запроса: select arg, func from system1.square_test ; 1 1 2 4 3 9 4 16 5 25 6 36 7 49 8 64 9 81 10 100 Чтоб перенести их традиционным способом, нужно записать DDL создания принимающей таблицы (если ее нет) и скрипт DML для всех строк данных. Что-то типа: create table system2.square_test (arg number, func number); insert into system2...