Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Как рассчитать контрольную сумму по всему столбцу таблицы, (CHECKSUM_AGG в MSSQL)?  [new]
sintex
Member

Откуда:
Сообщений: 1
Добрый день, господа!

Я сейчас осуществляю миграцию приложения с MS SQL на Oracle и у меня возникли проблемы, когда я дошел до функции CHECKSUM_AGG в MSSQL

Работает она таким образом:

CHECKSUM_AGG
Returns the checksum of the values in a group. Null values are ignored.

Syntax
CHECKSUM_AGG ( [ ALL | DISTINCT ] expression )

Arguments
ALL

Applies the aggregate function to all values. ALL is the default.

DISTINCT

Specifies that CHECKSUM_AGG return the checksum of unique values.

expression

Is a constant, column, or function, and any combination of arithmetic, bitwise, and string operators. expression is an expression of the int data type. Aggregate functions and subqueries are not allowed.

Пример:

ID Value
1001 10
1002 11
1002 12
1002 13
1003 14
1003 15
1003 16
1004 17
1004 18

select id, checksum_agg( Value )
from <ttt>
group by id

1001 CRC(10)
1002 CRC(11,12,13)
1003 CRC(14,15,16)
1004 CRC(17,18)
(CRC - написано просто для примера)

У меня два вопроса:
1. Как реализовать CHECKSUM_AGG на PL/SQL
2. Как рассчитать одну контрольную сумму по всему столбцу (напр. по Value,без group by)

DBMS_OBFUSCATION_TOOLKIT.MD5 вроде не может принимать в качестве параметра столбец или значение из группы.

Заранее спасибо за ответы!
8 май 06, 00:05    [2642458]     Ответить | Цитировать Сообщить модератору
 Re: Как рассчитать контрольную сумму по всему столбцу таблицы, (CHECKSUM_AGG в MSSQL)?  [new]
Владимир Бегун
Member

Откуда: Redwood Shores, CA USA
Сообщений: 1707
http://www.oracle.com/global/ru/oramag/augsept2002/dev_udag.html
http://vbegun.blogspot.com/2005/11/plsql-implementation-of-crc32.html
-- 
Vladimir Begun | http://alexeymazanov.narod.ru/
The statements and opinions expressed here are my own
and do not necessarily represent those of Oracle.
8 май 06, 09:58    [2642673]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить