среда, 22 января 2014 г.

Удаление дубликатов строк

Удаляем дубликаты строк следующим кодом
                  
                   DELETE FROM XX_BI.TMP
                   WHERE ROWID NOT IN
                            (SELECT MAX (ROWID)
                            FROM XX_BI.TMP
                            GROUP BY P_NUMBER, FULL_NAME)
                           
                           
Где XX_BI.TMP - целевая таблица, P_NUMBER, FULL_NAME - Набор столбцов по которым определяем: если эти поля у двух строк равны то такие строки одинаковые.

OBIEE. Как открыть анализ, минуя страницу входа в Oracle BI


Это ссылка на анализ ORCALE BI которая состоит из
Постоянная ссылка на отчет + дополнительные параметры для авторизации
Постоянную ссылку на отчет, можно найти в дополнительных свойствах анализа (см картинку).

Параметры же перечисляются следующим образом &nQUser=ПОЛЬЗОВАТЕЛЬ& nQPassword=ПАРОЛЬ

Также можно настроить права для пользователя так, чтобы он видел только этот отчет.

вторник, 21 января 2014 г.

Удаление символов или цифр из строки при помощи REGEXPR

Простой способ удалить символы из числа и наоборот, используя регулярные выражения, в частности функцию REGEXP_REPLACE.

Пример:

with tbl as (select '#1 !Oleg1 *Brudanov2 _TEST3' s from dual)
select s
     , regexp_replace(s,'[^[[:alpha:]]]*') as only_char
     , regexp_replace(s,'[^[[:digit:]]]*') as only_number
from tbl

Результат

понедельник, 20 января 2014 г.

INSERT RECORD в таблицу oracle



Если при работе в PL/SQL результатом должна быть вставка данных в таблицу, очень удобно использовать запись
DECLARE
table_record        table_name%rowtype;
BEGIN
<Некоторые операции с данными записи table_record>
insert into table_name values table_record;
END;