Архив Категории: Oracle Beer Day

Oracle Beer Day

Оговорочки и опечатушки

Вот уже больше десяти лет назад в дружном коллективе фирмы Irbicon, где я тогда работал, в ходе внедрения SAS Banking Intelligence Solution в МДМ-Банке родились вот такие оговорки и опечатки, причем вендор SAS совершенно не важен, ровно то же самое могло произойти и в случае с Oracle, или IBM, или Microsoft:

Обналичивание данных
Когда наши ребята готовили документ, в котором, помимо прочего, речь шла об обезличивании данных и использовании их вне стен банка, в текст усилиями начальника вкралась достойнейшая опечатка. Ее отловили в последний момент перед отправкой документа на согласование со службой безопасности, и как раз незадолго до того отшумела очередная история с кражей конфиденциальных банковских данных где-то за бугром. Хороши бы мы были!!!

На удобрения Заказчику
Еще одна опечатка. Конечно, никто не собирался всерьез отправить многостраничный труд на удобрения!

Объемный огром
Оговорка родилась в процессе создания денормализованной таблицы детальных данных для витрины по депозитам, размер которой физически на тот момент превышал 80 гигабайт.

Обирать счета по маскам
Да, и еще одна восхитительная идея, как содрать денег с Заказчика!

Oracle Beer Day Новости

Старший разработчик Д.Мороз за работой

Oracle Beer Day SQL and PL/SQL

Песня про 99 бутылок пива

Поистине замечательный ресурс для программиста любого ранга и языка — www.99-bottles-of-beer.net, в котором более чем 1500 примеров реализации вывода песни про 99 бутылок пива на самых разных языках программирования и с использованием различных приемов. Есть и варианты на разных диалектах SQL. В свободное от работы время я соорудил и свой скрипт, не совсем верно передав текст песни, но идея, думаю, будет понятна.

  1. SELECT CASE MOD (400 - LEVEL, 4)
  2. WHEN 3
  3. THEN
  4. TRUNC ((400 - LEVEL) / 4) || ' bottles of beer on the wall'
  5. WHEN 2
  6. THEN
  7. TRUNC ((400 - LEVEL) / 4) || ' bottles'
  8. WHEN 1
  9. THEN
  10. 'Drink 1 bottle...'
  11. ELSE
  12. CASE
  13. WHEN LEVEL < 396
  14. THEN
  15. TRUNC ((400 - LEVEL) / 4) - 1 || ' bottles left'
  16. ELSE
  17. 'No more bottles on the wall'
  18. END
  19. END
  20. FROM DUAL CONNECT BY LEVEL <= 396

Результат:

99 bottles of beer on the wall
99 bottles
Drink 1 bottle...
98 bottles left
98 bottles of beer on the wall
98 bottles
Drink 1 bottle...
...
Drink 1 bottle...
1 bottles left
1 bottles of beer on the wall
1 bottles
Drink 1 bottle...
No more bottles on the wall

Страница 1 из 11