Мы в Гонконге. Коулун и Абердин

1 января 2017 города и веси, Китай, Гонконг

Утром 1 января мы добрались до причала Star Ferry в районе Central на метро.

Бело-зеленые "звездные" паромы Star Ferry - своеобразная достопримечательность Гонконга. Эти паромы ходят между островом Гонконг и Коулуном несколько десятков лет, сохраняя неизменным внешний вид и звездные имена, такие как Silver Star, Shining Star, Night Star и т.д.

Мы в Гонконге. Вечер и день 1-й

30 декабря 2016 города и веси, Китай, Гонконг

Мы прилетели в Гонконг вечером 30 декабря. Стемнело, пока ехали на двухэтажном автобусе из аэропорта на остров Гонконг - конечно, на втором этаже, чтобы больше видеть. Первым небоскребом, который мы увидели, стала башня международного торгового центра. Но вот позади подводный туннель, и мы на острове Гонконг. Видим двухэтажные трамваи. Проезжаем мимо башни Bank of China, уже знакомой по гонконгским банкнотам.

Нас ждал забронированный номер в Holiday Inn Express в районе Causeway Bay.

Два кейса для ora_rowscn в Oracle 11g

20 декабря 2016 Oracle, SQL, PL_SQL, СУБД

В СУБД Oracle системный номер изменения (SCN, system change number) есть непрерывно возрастающее число. Каждая транзакция, и даже каждое чтение этого номера из БД увеличивает его:

SQL> select current_scn from v$database;
CURRENT_SCN
-----------
 7211772580

SQL> select current_scn from v$database;
CURRENT_SCN
-----------
 7211772583

Начиная с версии 10 в таблицах БД Oracle появился псевдостолбец ora_rowscn. Этот псевдостолбец содержит SCN, связанный с последним изменением соответствующей строки. Посмотрим на него поближе.

Работа с иерархически организованными данными в Oracle 11gR2

13 ноября 2016 Oracle, SQL, СУБД

Данные, организованные иерархически, - дерево или деревья - чаще всего представлены в реляционной БД как список узлов, где дочерний узел ссылается на родительский.

Создадим и заполним таблицу locations, иллюстрирующую именно этот подход:

create table locations (
    id number primary key,
    parent number references locations (id) on delete cascade,
    name varchar2(50) not null
);

insert into locations values (1, null, 'Земля');
insert into locations values (2, 1, 'Азия');
insert into locations values (3, 2, 'Владивосток');
insert into locations values (4, 2, 'Саппоро');
insert into locations values (5, 2, 'Стамбул');
insert into locations values (6, 1, 'Европа');
insert into locations values (7, 6, 'Реймс');
insert into locations values (8, 6, 'Санкт-Петербург');

Здесь узел 'Земля' есть корень дерева, на него ссылаются узлы 'Азия' и 'Европа', на них ссылаются остальные узлы - листья. Здесь каждый узел

Какими средствами языка SQL можно извлечь все узлы некоторого поддерева? А все узлы, лежащие на пути от данного узла до корня дерева?

Запуск задач в БД Oracle по расписанию, заданному регулярным выражением

29 октября 2016 Oracle, PL_SQL, СУБД

Расписание запуска задач для crontab мне нравится своей простотой и наглядностью.

Посмотрим на пример расписания crontab. Строчки, начинающиеся с #, это комментарии, поясняющие назначение полей расписания:

# +--------------------------- minute (0 - 59)
# |   +----------------------- hour (0 - 23)
# |   |     +----------------- day of month (1 - 31)
# |   |     |     +----------- month (1 - 12)
# |   |     |     |     +----- day of week (0 - 6) (Sunday=0)
# |   |     |     |     |
# v   v     v     v     v      command to be executed
#-------------------------------------------------------------------------------
5     0     1,16  *     *      /home/ay/do_great_job.sh  > /dev/null
30    22    *     *     0      /home/ay/sunday_script.sh > /dev/null
0     0,12  *     *     0      /home/ay/hello_world      > /dev/null

Непосредственно видно, что

Можно ли в Oracle реализовать запуск задач по расписанию, похожему на расписание crontab? И при этом обойтись без программирования разбора строк, задающих расписание?

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19