Difference between revisions of "RU/kb/00000179"
From Apache OpenOffice Wiki
(Created page with '<!-- Обязательный элемент --><section begin=title /><noinclude>{{DISPLAYTITLE:База Знаний: </noinclude>{{OOoB|1}}. Добавление функци…') |
|||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | + | <section begin=title /><noinclude>{{DISPLAYTITLE:База Знаний: {{OOoB|1}}. </noinclude>Добавление функций в HSQLDB<noinclude>}}</noinclude><section end=title /> | |
− | + | {{BreadCrumbL10n|RU/kb/module/base/hsqldb}} | |
− | + | __NOTOC__ | |
− | |||
− | + | <section begin=toc /> | |
+ | Часто приходится создавать запросы с применением нестандартных функций. В терминах HSQLDB функции, не описанные в её интерфейсе, являются нестандартными. Не определена даже такая простая функция, как извлечение квадратного корня. | ||
+ | |||
− | |||
Для определения новых функций необходимо использовать встроенные процедуры. | Для определения новых функций необходимо использовать встроенные процедуры. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | В HSQLDB 1.8 встроенные процедуры реализованы только при помощи классов JAVA<ref>[[RU/kb/sources#31|[31] Подробнее о классах java Math.]]</ref>. | |
− | + | Выбираем пункт меню {{Menu|Сервис|SQL}} и вводим команду | |
+ | <source lang="sql"> | ||
+ | CREATE ALIAS SQRT FOR "java.lang.Math.sqrt" | ||
+ | </source> | ||
− | + | Теперь можно выполнять запросы /создавать представления вида | |
+ | <source lang="sql"> | ||
+ | SELECT SQRT(A) , B FROM MYTABLE; | ||
+ | </source> | ||
− | + | {{Note|Данный метод работает только со статически определёнными классами JAVA. Если в классе java процедура определена с "перегрузкой" аргументов, то может быть использован только первый из определённых вариантов функции. Для доступа к остальным вариантам необходимо статически определить соответствующую функцию (процедуру) класса JAVA.}} | |
− | + | ||
− | < | + | <section begin=signature/> |
+ | {{RUsignyear|BigAndy|А. А. Рыбак|2010}} | ||
+ | <section end=signature/> | ||
+ | {{RUkbBaseBottom}} |
Latest revision as of 13:34, 7 July 2018
< Apache OpenOffice | База знаний | Модули Apache OpenOffice | Apache OpenOffice Base | Встроенная база данных HSQLDB
Часто приходится создавать запросы с применением нестандартных функций. В терминах HSQLDB функции, не описанные в её интерфейсе, являются нестандартными. Не определена даже такая простая функция, как извлечение квадратного корня.
Для определения новых функций необходимо использовать встроенные процедуры.
В HSQLDB 1.8 встроенные процедуры реализованы только при помощи классов JAVA[1].
Выбираем пункт меню Сервис → SQL и вводим команду
CREATE ALIAS SQRT FOR "java.lang.Math.sqrt"
Теперь можно выполнять запросы /создавать представления вида
SELECT SQRT(A) , B FROM MYTABLE;