Поиск по этому блогу

среда, 20 апреля 2011 г.

Архитектура DataVault

Основные сущности
Хаб(HUB) -- основные бизнес сущности
-- Список бизнес ключей
-- Суррогатные ключи (внутренние ИД)
-- Временная отметка загрузки
-- Источник данных

Связь(Link) -- Таблицы фактов типа "Многие ко многим" -- Действия
-- Суррогатный ключь
-- Ключи Хаба

-- Временная отметка загрузки
-- Источник данных

Спутник(Satelite) -- Описательные таблицы для хабов (Редкие изминения)
-- Суррогатный ключь
-- Ключи Хаба

-- Временная отметка загрузки
-- Источник данных














четверг, 7 апреля 2011 г.

Неявные курсоры в Oracle


  1. Цикл с неявным курсором
        begin
           for r in (select * from emp) loop
             dbms_output.put_line(sql%rowcount);
           end loop;
        end;
     2.  Передача значений между SQL и PL/SQL
           SELECT base INTO myVar from emp;

Коллекции значений в Pl/SQL на примере таблицы Pl/SQL

Рассмотрим коллекции значений на примере таблицы Pl/SQL, основной особенностью является наличия поля-индекса,по которому можно обратиться к любому элементу по его ключу.

declare
type MyTab is table of varchar2 index by pls_integer;
r MyTab;
begin
r(-100):= "Hello";
r(100):= "Hello World";
r(0):= sysdate;
dbms_output.put_line(r.count);
end;
/

Обход таблицы PL_SQL в цикле:

for w in r.first .. r.last loop
   if r.exists(w) tren
      dbms_output ....
   end if;
end loop;