Архив категории «Oracle»
COALESCE “умнее” чем NVL.
Век живи – век учись. NVL вычисляет второй аргумент, даже если если первый аргумент не NULL. NVL2 поступает также: “вычисляет” оба аргумента, хотя по идее должна вычислять только один. Подробности и детали: Short-circuit Evaluations …
Рубрики: Oracle, Базы данных · Теги: functions, oracle
Oracle recycle bin
В Oracle 10 появилась новая фича Recycle Bin, когда вы удаляете таблицу – она вначале попадает в корзину (нафига это надо?!). Самое дурацкое – что таблица просто переименовывается и естественно занимает тоже место что и до …
Рубрики: Oracle, Базы данных · Теги: oracle
Сюрпризы Oracle – foreign keys and indexes
Oracle 10 не перестает удивлять. Я так и не понял как можно было загрузить дамп в котором в дочерней таблице были references на несуществующие записи в master таблице, при том что после загрузки данных он спокойно создал и …
Рубрики: Oracle, Базы данных
Сюрпризы oracle – обфускация пакетов
Все нижеследующее справедливо для 9-ки (Oracle 9.2.x.x)
Вероятно Вам приходилось обфусцировать plsql пакеты Oracle. Вероятно также что однажды утилита wrap не смогла это сделать. И Вы получили примерно такую ошибку:
kgefec: fatal error 0 …
Рубрики: Oracle, Базы данных · Теги: obfuscation, oracle, wrap
Oracle. Таблица dual и connect by
Oracle не перестает удивлять.
Oracle 9.
Select Level from dual connect by Level < 200
Вернет строго 100 записей.
Select Max(Level) from dual connect by Level < 200
Вернет 199.
Приятно.
Но это еще не всё. :)
Select Max(LevelNo) from ( Select Level as LevelNo from dual connect by Level …
Рубрики: Oracle, Базы данных · Теги: connectby, dual, oracle
Oracle Views. Сюрпризы.
Создаем обычную вьюшку.
create view TestView as
Select Level as N from dual connect by Level < 10
Три следующих запроса работают нормально:
Select * from TestView;
Select N from TestView;
Select n from TestView;
Select "N" from TestView;
Не понравилось нам название колонки – …
Рубрики: Oracle · Теги: oracle, views
Oracle. Оператор LIKE. Escape character.
LIKE – простой условной оператор для сравнения по маске. С двумя символами:
% – всё что угодно
_ – один символ
Я всё время считал, что escape character в Oracle это тот же процент (%). До тех пор пока не пришлось искать в строках …
Рубрики: Oracle · Теги: oracle like
