Век живи — век учись. NVL вычисляет второй аргумент, даже если если первый аргумент не NULL. NVL2 поступает также: “вычисляет” оба аргумента, хотя по идее должна вычислять только один. Подробности и детали: Short-circuit Evaluations — moving away from NVL. Конечно для случаев NVL(Field, DefaultValue) или NVL2(Field, NotNullDefaultValue, NullDefaultValue) это ничего не даст, но если для [...]
COALESCE “умнее” чем NVL.
Февраль 11, 2010 • Oracle, Базы данных
Oracle recycle bin
Февраль 10, 2009 • Oracle, Базы данных
В Oracle 10 появилась новая фича Recycle Bin, когда вы удаляете таблицу – она вначале попадает в корзину (нафига это надо?!). Самое дурацкое — что таблица просто переименовывается и естественно занимает тоже место что и до исполнения DROP TABLE. Причем ложится туда вместе с индексами. Отключить навсегда: ALTER SYSTEM SET "recyclebin"=OFF SCOPE = BOTH; Почистить [...]
Сюрпризы oracle – обфускация пакетов
Август 28, 2008 • Oracle, Базы данных
Все нижеследующее справедливо для 9-ки (Oracle 9.2.x.x) Вероятно Вам приходилось обфусцировать plsql пакеты Oracle. Вероятно также что однажды утилита wrap не смогла это сделать. И Вы получили примерно такую ошибку: kgefec: fatal error 0 kgepop: no error frame to pop to for error 603 или другую ошибку подобную ошибку. И Вам приходилось рыскать в интернете [...]
Oracle. Таблица dual и connect by
Июль 4, 2008 • Oracle, Базы данных
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 < 200 ) Тоже вернет [...]
Oracle Views. Сюрпризы.
Июль 2, 2008 • Oracle
Создаем обычную вьюшку. 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; Не понравилось нам название колонки – N, меняем вьюшку create or replace view TestView as Select [...]
Oracle. OraOleDb, FetchSize и dotnet
Февраль 22, 2008 • Oracle, Базы данных
Простой запрос, три поля из трех таблиц, все строки VARCHAR2. Dotnet framework 2.0. OleDbDataReader. Первые сто строк вычитываются нормально, потом все идет крокозяблами. Думал поседею. Четыре разных сервера, три девятки, одна десятка, проявляется только на одном. Проблемы оказалась в параметре FetchSize (сколько строк возращать за одну вычитку), первый раз все вычитается правильно, все последующие вернут [...]
"Горизонтальные" функции в Oracle.
Январь 11, 2008 • Oracle
Сегодня обнаружил в коде функцию Coalesce. Ни разу не пользовался. Дословно – объединять. Почему объединять ума не приложу. Функция возвращает первое not null значение из списка, заменитель вложенных NVL функций. И теперь вместо: NVL(NVL(NVL(ColumnA, ColumnB) , ColumnC), ColumnD) можно написать: COALESCE(ColumnA, ColumnB, ColumnC, ColumnD) Функция «горизонтальная». « Горизонтальная» функция, потому что оперирует колонками (или n [...]
-
Азбука. Буква Ф. Фортран
6:19 пп
-
Насколько крепкий Ваш пароль?
11:37 дп
-
WordPress backup – простейший способ.
7:11 пп
- Пароль для блондинки 5:32 пп
-
humans.txt vs robots.txt
11:16 дп
-
Best practices in application architecture
11:14 дп
-
humans.txt vs robots.txt
11:16 дп
-
Новый подход к написанию резюме
3:32 пп
-
Должен ли я работать бесплатно?
3:19 пп
-
ID для элементов HTML и BODY
11:39 дп
-
: Во-во, точно они! Логики нет, но зато есть способн...
-
Михаил: Но очень похоже на дизайнеров :). ...
-
: Та что-то не похоже на программиста использовать ф...
-
Michael de`Oz: Я всегда начинаю использовать что-то с прочтения и...
-
Батонэ: Я и принтер без инструкции пичкал чернилами и став...