Difference between revisions of "RU/kb/00000179"

From Apache OpenOffice Wiki
< RU‎ | kb
Jump to: navigation, search
(Created page with '<!-- Обязательный элемент --><section begin=title /><noinclude>{{DISPLAYTITLE:База Знаний: </noinclude>{{OOoB|1}}. Добавление функци…')
 
(Корректировка стиля и тегов)
Line 1: Line 1:
<!-- Обязательный элемент --><section begin=title /><noinclude>{{DISPLAYTITLE:База Знаний: </noinclude>{{OOoB|1}}. Добавление функций в HSQLDB<noinclude>}}</noinclude><section end=title />
+
<section begin=title /><noinclude>{{DISPLAYTITLE:База Знаний: </noinclude>{{OOoB|1}}. Добавление функций в HSQLDB<noinclude>}}</noinclude><section end=title />
<!-- Обязательный элемент -->{{BreadCrumbL10n|RU/kb/module/base/hsqldb}}
+
{{BreadCrumbL10n|RU/kb/module/base/hsqldb}}
<!-- Обязательный элемент -->__NOTOC__
+
__NOTOC__
  
<!-- Обязательный элемент -->{{RUneedsrework}}
 
  
<!-- Обязательный элемент --><section begin=toc />
+
<section begin=toc />
 +
Часто приходится создавать запросы с применением нестандартных функций. В терминах HSQLDB функции, не описанные в её интерфейсе, являются нестандартными. Не определена даже такая простая функция, как извлечение квадратного корня.
 +
 
  
Часто приходится создавать запросы с применением нестандартных функций. В терминах HSQLDB функции, не описанные в ее интерфейсе, являются нестандартными. Не определена даже такая простая функция, как извлчение квадратного корня.
 
 
Для определения новых функций необходимо использовать встроенные процедуры.
 
Для определения новых функций необходимо использовать встроенные процедуры.
В HSQLDB 1.8 встроенные процедуры реализованы только при помощи классов JAVA.
 
Выбираем пункт меню {{Menu|Сервис|SQL}} и вводим команду
 
  
 +
В HSQLDB 1.8 встроенные процедуры реализованы только при помощи классов JAVA<ref>[[RU/kb/sources#31|[31] Подробнее о классах java Math.]]</ref>.
  
''' CREATE ALIAS SQRT FOR "java.lang.Math.sqrt"'''
+
Выбираем пункт меню {{Menu|Сервис|SQL}} и вводим команду
 
+
{{RUcode|40|CREATE ALIAS SQRT FOR "java.lang.Math.sqrt"}}
Теперь можно выполнять запросы/создавать представления  вида 
+
 
+
'''SELECT SQRT(A) , B FROM MYTABLE;'''
+
 
+
Подробнее о классах java MAth можно посмотреть [http://cs.mipt.ru/docs/comp/eng/orelly/java/exp/ch07_02.htm здесь]
+
  
Примечание: Данный метод работает только со статически определенными классами JAVA. Если в классе java процедура определена с "перегрузкой" аргументов, то может быть использован только первый из определённых вариантов функции. Для доступа к остальным вариантам необходимо статически определить соответствующую функцию (процедуру) класса JAVA.
+
Теперь можно выполнять запросы /создавать представления вида
 +
{{RUcode|40|SELECT SQRT(A) , B FROM MYTABLE;}}
  
  
<!-- 1 -->{{RUsignyear|BigAndy|BigAndy|2010}}
+
{{Documentation/Note|Данный метод работает только со статически определёнными классами JAVA. Если в классе java процедура определена с "перегрузкой" аргументов, то может быть использован только первый из определённых вариантов функции. Для доступа к остальным вариантам необходимо статически определить соответствующую функцию (процедуру) класса JAVA.}}
<!-- Обязательный элемент --><section end=signature/>
+
  
<!-- Обязательный элемент -->{{RUkbBaseBottom}}
+
<section begin=signature/>
 +
{{RUsignyear|BigAndy|BigAndy|2010}}
 +
<section end=signature/>
 +
{{RUkbBaseBottom}}

Revision as of 12:48, 11 October 2010



Часто приходится создавать запросы с применением нестандартных функций. В терминах HSQLDB функции, не описанные в её интерфейсе, являются нестандартными. Не определена даже такая простая функция, как извлечение квадратного корня.


Для определения новых функций необходимо использовать встроенные процедуры.

В HSQLDB 1.8 встроенные процедуры реализованы только при помощи классов JAVA[1].

Выбираем пункт меню Сервис → SQL и вводим команду Template:RUcode

Теперь можно выполнять запросы /создавать представления вида Template:RUcode


Template:Documentation/Note





BigAndy
2010








  1. [31] Подробнее о классах java Math.


Personal tools