Joomla 3.1 Templates by FatCow Coupon

DB LINK работа с LOB полями и ORA-22992

DB LINK - специальный механизм СУБД ORACLE который позволяет взаимодействовать с другими базами данных
примечательно что DB LINK могут использоваться не только для взаимодействия с базами данных ORACLE 
но и с другими СУБД , такими как MS SQL или MY SQL
для создания DB link пользователь должен иметь соответсвующую системную привилегию
create database link
рассмотрим несколько примеров создания db_link

Подробнее...

Создание таблиц - краткий обзор

Нашел вот такую статью, показалась интересной - перевел, и внес некоторые корректировки
Это некий краткий - на одну страницу, обзор с примерами на тему - создание таблиц в oracle
Чтобы пользователь мог создать таблицу он должен обладать соответствующей системной привилегией create table.
Кроме того в дисковом пространстве должно быть достаточно места для создания таблиц.

Подробнее...

Небольшой пример работы с вложенными таблицами nested table

пример работы с вложенными таблицами nested table 
DECLARE
 TYPE TYP_REC IS RECORD
   (
     num   number
     ,vname varchar2(30)
    );
     TYPE rec_table_type IS TABLE OF TYP_REC ;     
    my_tab rec_table_type;    
 BEGIN
   my_tab := rec_table_type();
   my_tab.EXTEND;
   my_tab(1).num := 21;
   my_tab(1).vname := 'норма';
   my_tab.EXTEND;
   my_tab(2).num := 21;
   my_tab(2).vname := 'норма1';
   my_tab.EXTEND;
   my_tab(3).num := 21;
   my_tab(3).vname := 'норма1';

   DBMS_OUTPUT.PUT_LINE('my_tab(1) is '||my_tab(1).num||' - '||my_tab(1).vname);
   For i IN my_tab.FIRST .. my_tab.LAST Loop
     dbms_output.put_line( 'Line  = ' || my_tab(i).num ) ;
     dbms_output.put_line( 'Code  = ' || my_tab(i).vname ) ;
    End loop;
 
    
 END;

Превращаем столбцы в строчки LISTAGG

-- Превращаем столбцы в строчки
-- функция LISTAGG
-
Описание функции listagg
согласно переводу Oracle Reference Database listagg может использоваться
1) Как одиночная агрегатная функция, LISTAGG обрабатывает все строки и возвращает одно значение.
2) Как групповая агрегатная функция, LISTAGG обрабатывает и возвращает данные для каждой группы определенной в GROUP BY.
3) Как аналитическая функция, LISTAGG обрабатывает данные разбитые на блоки, задаваемые одним или несколькими выражениями query_partition_clause.
давайте рассмотрим самый интересный пример:

Подробнее...

Предикаты any , all в SQL запросах

-- Использование any , all в запросах , очень похоже на использования предиката exists , но есть некоторые отличия
-- рассмотрим работу данных предикатов на примерах
-- для примера создадим таблицу со следующими полями 
-- 1) Название
-- 2) Цвет
-- 3) вес

drop table t1;
create table t1(tid number,tname varchar2(20),tprop varchar2(20), tvalue number);
-- заполним таблицу данными
insert into t1 values(1,'круг','красный', 10);
insert into t1 values(2,'круг','зеленый', 30);
insert into t1 values(3,'круг','зеленый', 30);
insert into t1 values(4,'круг','синий', 20);
insert into t1 values(5,'квадрат','красный', 10);
insert into t1 values(6,'квадрат','синий', 20);
insert into t1 values(7,'квадрат','красный', 20);
insert into t1 values(8,'треугольник','красный', 30);
insert into t1 values(9,'треугольник','синий', 10);

Подробнее...