Difference between revisions of "RU/kb/00000179"

From Wiki
Jump to navigationJump to search
m (4 версии)
Line 23: Line 23:
  
  
{{Documentation/Note|Данный метод работает только со статически определёнными классами JAVA. Если в классе java процедура определена с "перегрузкой" аргументов, то может быть использован только первый из определённых вариантов функции. Для доступа к остальным вариантам необходимо статически определить соответствующую функцию (процедуру) класса JAVA.}}
+
{{Note|Данный метод работает только со статически определёнными классами JAVA. Если в классе java процедура определена с "перегрузкой" аргументов, то может быть использован только первый из определённых вариантов функции. Для доступа к остальным вариантам необходимо статически определить соответствующую функцию (процедуру) класса JAVA.}}
  
 
<section begin=signature/>
 
<section begin=signature/>

Revision as of 16:52, 25 August 2011



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


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

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

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

CREATE ALIAS SQRT FOR "java.lang.Math.sqrt"

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

SELECT SQRT(A) , B FROM MYTABLE;


Documentation note.png Данный метод работает только со статически определёнными классами JAVA. Если в классе java процедура определена с "перегрузкой" аргументов, то может быть использован только первый из определённых вариантов функции. Для доступа к остальным вариантам необходимо статически определить соответствующую функцию (процедуру) класса JAVA.


Template:RUsignyear







К началу страницы